今天小编给大家分享一下JavaScript如何利用DOM创建和克隆元素的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了涞水免费建站欢迎大家使用!
createElement()和createTextNode()
createElement()和createTextNode()做的事情正如它们的名字所说的那样。最常见的JavaScript DOM方法实战-修改文档树中已经用过它们。当时的目的是把新创建的元素添加到文档树里,使它成为某个元素的***一个子节点。
//创建一个li新元素 var newChild=document.createElement('li'); //创建一个a 新元素 var newLink=document.createElement('a') //创建一个 Text 节点 var newText=document.createTextNode('My Wiki');
newChild指向新创建的
var nav=document.getElementById("nav"); //创建一个li新元素 var newChild=document.createElement('li'); //创建一个a 新元素 var newLink=document.createElement('a') //创建一个 Text 节点 var newText=document.createTextNode('My Wiki'); //把Text添加到a元素节点中 newLink.appendChild(newText); //给a元素节点设置属性href和内容 newLink.setAttribute('href',"#"); //把a元素节点添加到新的li元素节点中 newChild.appendChild(newLink); //把新的li元素节点添加到 ul 元素节点里 nav.appendChild(newChild);
这先将文本节点附加到中,然后再将包含文本节点的附加到中。此时我的导航条ul中多了一个li子节点。
createTextNode()和HTML实体
createTextNode()有一个问题:它不能创建类似于€(€ 欧元符号)¥(¥ 人民币符号) © (© 版权符号)“(“左双引号)”(” 右双引号)等,这样的HTML实体元素。它会按字面创建文本,而不是创建你所需要的符号 。
不过,我们可以使用innerHTML来代替:
关于innerHTML属性的用法,我们会在下一节中作为专题来具体的讨论。
cloneNode()
cloneNode()方法克隆一个节点,即它能对节点做一个***的复制,使你可以在随后将其插入到文档树中。导航条HTML代码:
测试cloneNode()
要想正确的使用cloneNode(),你必须了解它的一下二个特征:
1. cloneNode()接受一个可选值为true或false的参数。True 表示克隆元素和它的所有子节点。False表示克隆元素但不包含它的子节点。通常,我们在实践中用true,我从来没有遇到过想要克隆一个节点但不包含它的子节点的情形。
2. cloneNode()不会克隆事件处理程序。这相当的让人恼火,不知道这个方法是怎么定义的(原因我也不知道)所以每次你克隆一个节点,你不得不在克隆上重新定义事件处理程序。
以上就是“JavaScript如何利用DOM创建和克隆元素”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。
分享文章:JavaScript如何利用DOM创建和克隆元素
文章地址:http://lswzjz.com/article/jhpsej.html