节点操作:三种动态创建元素的区别

    科技2022-07-11  104

    三种动态创建元素的区别

    document.write() (不常用) 直接将内容写入页面的内容流,但如果文档流加载完毕,再调用这句话,会导致整个页面全部重绘(即以前所写内容消失)element.innerHtml 将内容写入某个DOM节点,不会导致页面重绘 此方法创建多个元素的效率会更高一些(不要拼接字符串,采取数组形式拼接),结构稍微复杂document.creatElement() 此方法创建多个元素效率稍微低一些,但结构清晰 <body> <div class="inner"></div> <div class="create"></div> <script> //2.inner.HTML var inner = document.querySelector(".inner"); for (var i = 0; i <= 100; i++) { inner.innerHTML += '<a herf="#">百度</a>'; } //inner.HTML 方式改进 :用数组存储多个元素,最后将数组转换为字符串添加 var arr = []; for (var i = 0; i <= 100; i++) { arr.push('<a herf="#">百度</a>'); } inner.innerHTML = arr.join(""); //3.document.creatElement (创建多个元素时效率很高) var create = document.querySelector(".create"); for (var i = 0; i <= 100; i++) { var a = document.createElement("a"); create.appendChild(a); } </script> </body>

    不同浏览器下,innerHTML 如果采取数组的形式 ,效率会比 creatElement更高

    Processed: 0.010, SQL: 8