美文网首页
javascript DOM之节点那些事

javascript DOM之节点那些事

作者: writeanewworld | 来源:发表于2018-01-10 21:31 被阅读0次

1.创建和增加节点


image.png
  1. 创建追加节点

可以使用最简单的方法: 这样就会追加一个div节点

document.body.innerHTML += '<div></div>';

但是这样对于浏览器来说是很痛苦的,所以这样:

var div02 = document.createElement('idv'); //创建元素
document.body.appendChild(div02);//追加节点

但是这样: 你咋子做嘛?

<div id="div001" class="div001">
   <p class="p001" id="p001">
       世界你好,模板
   </p>
</div>

答案:手动添加节点: 这种做法浏览器是最轻松的但是你也是最痛苦的。

  <script type="text/javascript">
   window.onload=function(){
   //   1.创建元素节点
       var div01 = document.createElement('div');
   //  2.  为元素节点创建属性节点
       div01.setAttribute('id','div001');
       div01.setAttribute('class','div001');
   //   3.创建第二个元素节点
       var p01 = document.createElement('p');
   //    4.为第二个元素节点创建属性节点
       p01.setAttribute('class','p001');
       p01.setAttribute('id','p001');
   //  5.  创建文本节点
       var ptxt = document.createTextNode('世界你好,模板');
   //    6.添加文本节点
       p01.appendChild(ptxt);
   //    7.添加元素节点
       document.body.appendChild(div01);
       // document.body.appendChild(p01);
       div01.insertBefore(p01,div01.firstChild);
   }
</script>

3.克隆节点

。true表示深度复制,就是复制全部。
。documentfragment克隆缓存机制,提升克隆效率。

 <script type="text/javascript">
    window.onload=function(){
        var div02 = document.createElement('div');
        div02.setAttribute('id','div02');
        div02.setAttribute('class','divcss');
        var txt = document.createTextNode('div02 content');
        //属性节点不用添加
        //添加文本节点
        div02.appendChild(txt);
        //添加元素节点
        document.body.appendChild(div02);

        //缓存克隆
        var df = document.createDocumentFragment();
        for(var i=0;i<10;i++){
            var div = div02.cloneNode(true);
            div.setAttribute('id','div'+(i+3))  ;
            df.appendChild(div);
        }
        document.body.appendChild(df);
    }
</script>

<body>

</body>
image.png

4.克隆生成模板

相关文章

  • javascript DOM之节点那些事

    1.创建和增加节点 创建追加节点 可以使用最简单的方法: 这样就会追加一个div节点 但是这样对于浏览器来说是很痛...

  • DOM (javascript DOM节点操作)

    DOM (javascript DOM节点操作) 本节目录 查找DOM元素 DOM节点操作 javascript操...

  • reactive

    虚拟dom节点 通过javaScript 来虚拟dom 。通过虚拟的dom 来找到那些需要局部跟新的东西,这样可以...

  • 前端面试题总结(算法)

    javascript递归遍历所有DOM文档节点 javascript递归遍历所有DOM文档节点 HTTP 方法:G...

  • javascript之DOM节点

    javascript之DOM节点详细剖析,以下列出的基本是最常用的 childNodes children get...

  • JavaScript基础与DOM

    JavaScript基础与DOM 键盘按下与松开 图片轮播 xml Dom 节点信息: 每个节点都有包含关于节点某...

  • jQuery-DOM篇

    DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...

  • 【前端】-029-DOM编程-节点操作

    节点的属性 节点操作 除了通过DOM树中的父子、兄弟关系获取节点外,还可以通过 JavaScript 中的DOM接...

  • JavaScript DOM常用操作

    JavaScript的DOM操作主要包括: 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的...

  • 一篇文章教会你如何将DOM转换为virtual DOM

    【一、Virtual DOM简介】 Virtual DOM是虚拟节点,它通过Javascript的Object对象...

网友评论

      本文标题:javascript DOM之节点那些事

      本文链接:https://www.haomeiwen.com/subject/fxxanxtx.html