document动态 *** 作元素

document动态 *** 作元素,第1张

概述(一)动态创建元素 1. 通过innerHTML创建元素 语法:元素.innerHTML = ‘内容‘; 1 <body> 2 <button>add</button> 3 <ul> 4 <li>列表项</li> 5 </ul> 6 <script> 7 //更新ul中的内容,动态添加li 8 var b (一)动态创建元素 1. 通过INNERHTML创建元素

语法:元素.INNERHTML = ‘内容‘;

 1 <body> 2     <button>add</button> 3     <ul> 4         <li>列表项</li> 5     </ul> 6     <script> 7     //更新ul中的内容,动态添加li 8     var btn = document.querySelector(button); 9     var ul = document.querySelector(ul);10     btn.onclick = function() {11         var old = ul.INNERHTML; //原有的li12         ul.INNERHTML = old + <li>new List</li>;13     }14     </script>   15 </body>

INNERHTML适用于少量的拼接,因为字符串大量拼接时有性能问题。

 

2. 通过document.createElement创建元素

语法:document.createElement(‘标签名‘);  //返回一个新的元素对象

 1 <body> 2     <button>add</button> 3     <ul> 4         <li>列表项</li> 5     </ul> 6     <script> 7     //更新ul中的内容,动态添加li 8     var btn = document.querySelector(button); 9     var ul = document.querySelector(ul);10     btn.onclick = function() {11       var newChild = document.createElement(li); 12       newChild.innerText = 新元素;  //设置内容,给谁设置谁就点13       ul.appendChild(newChild);  //追加元素14     };15     </script>   16 </body>

 

3. 两种方法比较

createElement不需要拼接,会自动追加到下一项。运行速度比INNERHTML拼接要快。(推荐使用)

INNERHTML大量拼接字符串时速度慢。

 

(二)动态追加元素

语法:父元素.appendChild(子元素);

函数封装注意:对于函数体中不能写死的地方用参数。

 1 <button>创建li</button> 2 <ul> 3 <li>我是li</li> 4 </ul> 5 <script> 6     var btn = document.querySelector(button); 7     var ul = document.querySelector(ul); 8     btn.onclick = function() { 9       // 创建一个新的li元素10       var newli = document.createElement(li);11       // 追加12       ul.appendChild(newli);13       // 设置内容14       newli.innerText = 我是新来的li;15     };16 </script>

 

 

(三)删除元素

语法:父元素.removeChild(子元素); 

confirm(); 提示是否确认删除,返回布尔值。

 1 <ul> 2 <li>我是li1</li> 3 <li class="li2">我是li2</li> 4 <li>我是li3</li> 5 </ul> 6 <script> 7     var ul = document.querySelector(ul); 8     var li2 = document.querySelector(.li2); 9     // 移除第二li10     ul.removeChild(li2);11 </script>

 

 

(四)其他元素 1. 插入元素

语法:父节点.insertBefore(新的节点,旧的子节点)

2. 替换元素

语法:父节点.replaceChild(新的节点,旧的子节点)

3. 克隆元素

语法:元素.cloneNode(true或false); 返回一份新的克隆后的元素,默认值false

true,克隆该元素的所有内容 false,仅仅克隆外层标签
 1 <ul> 2     <li>我是li1</li> 3     <li>我是li2</li> 4     <li>我是li3</li> 5 </ul> 6 <div> 7     <h2>我是div中的标题</h2> 8     <span>我是span</span> 9     <button>按钮</button>10     <p>段落</p>11 </div>12 13 <script>14     var ul = document.querySelector(ul);15     var oldli = ul.children[0];16     // 创建一个新的li17     var newli = document.createElement(li);18     newli.innerText = 我是新的li;19     // 【插入】20     // ul.insertBefore(newli,oldli);21     // 替换22     // ul.replaceChild(newli,oldli);23     // 【获取div】24     var div = document.querySelector(div);25     // 【克隆】26     // var newdiv = div.cloneNode(); // 默认是false,表示仅仅克隆外层标签27     var newdiv = div.cloneNode(true); // 若是true,会克隆该元素的所有内容28     document.body.appendChild(newdiv);29 </script>
总结

以上是内存溢出为你收集整理的document动态 *** 作元素全部内容,希望文章能够帮你解决document动态 *** 作元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存