资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

JavaScript如何利用DOM创建和克隆元素

今天小编给大家分享一下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指向新创建的

  • 元素对象,newLink指向新创建的元素对象,而newText指向新创建的文本节点对象。这些节点都还没有被插入文档中。最常见的JavaScript DOM方法实战-修改文档树中,用到的appendChild()或insertBefore()将它们附加到文档树中。例如:

    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);

    这先将文本节点附加到中,然后再将包含文本节点的附加到

  • 中,***把包含和文本的
  • 附加到 
  • 测试cloneNode()

     window.onload=function(){       var nav_list=[];    var nav=document.getElementById("nav");       navnav_list=nav.getElementsByTagName("li");    var x=nav_list[0];    var y=x.cloneNode(true);    nav.appendChild(y);  }  

    要想正确的使用cloneNode(),你必须了解它的一下二个特征:

    1. cloneNode()接受一个可选值为true或false的参数。True 表示克隆元素和它的所有子节点。False表示克隆元素但不包含它的子节点。通常,我们在实践中用true,我从来没有遇到过想要克隆一个节点但不包含它的子节点的情形。

    2. cloneNode()不会克隆事件处理程序。这相当的让人恼火,不知道这个方法是怎么定义的(原因我也不知道)所以每次你克隆一个节点,你不得不在克隆上重新定义事件处理程序。

    以上就是“JavaScript如何利用DOM创建和克隆元素”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。


    当前标题:JavaScript如何利用DOM创建和克隆元素
    网页地址:http://cdkjz.cn/article/jhpsej.html
    返回首页 了解更多建站资讯
    多年建站经验

    多一份参考,总有益处

    联系快上网,免费获得专属《策划方案》及报价

    咨询相关问题或预约面谈,可以通过以下方式与我们联系

    大客户专线   成都:13518219792   座机:028-86922220