首页 > 其他 > 详细

三种动态创建元素的区别----关于Dom

时间:2020-07-04 21:42:51      阅读:36      评论:0      收藏:0      [点我收藏+]
  /* 三种动态创建元素的区别 */
        // 1 document.write()
        // 特点 是直接将内容写入页面的文档流,但是文档流执行完毕,则它会导致页面全部重绘  
        var btn = document.querySelector(‘button‘);
        btn.onclick = function() {
            document.write(‘<div>123</div>‘)
        }
        //2 element.innerHTML的方式
        var div = document.querySelector(‘div‘)
        for(var i=0; i < 100; i++){
            div.innerHTML += ‘<a href="#">百度</a>‘
        }
        //执行效率极低,主要是因为使用了大量的字符串拼接,内存中需要重新开辟空间

        //3 document.creatElement()
        for(var i=0; i<100; i++){
            var a = document.createElement(‘a‘);
            div.appendChild(a);
        }
        // 执行效率高  比通过innerHTML方式好很多    下面是重点  下面是重点    下面是重点


        /* 接下来剧情反转的时刻到来 */

        var arr = [];
        for(var i=0; i<100; i++ ){
            arr.push(‘<a href="#">百度</a>‘);
        }
        div.innerHTML = arr.join(‘‘);

        //这种方式 执行效率更高


        /* 总结一下
             1,document.write()   会导致页面重绘,不建议使用
             2,inner.HTML 创建多个元素是效率会更高(不拼接字符串,采取数组形式拼接),但结构稍微复杂
             3,createElement() 创建多个元素效率比innerHTML低,但结构清晰
         */

三种动态创建元素的区别----关于Dom

原文:https://www.cnblogs.com/xu3241/p/13236460.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!