js 的动态获取与插入,卡死浏览

来源:互联网 发布:佛罗里达大学 知乎 编辑:程序博客网 时间:2024/06/05 07:45
<body>  <a href="javascript:void(0);" id="start">start</a>  <div id="test">    <div>t1</div>    <div>t2</div>  </div>  <script type="text/javascript">  window.onload = function(){    document.getElementById('start').onclick = function(){      var div = document.getElementById('test'),        childs = div.getElementsByTagName('div');    for(var i = 0; i < childs.length; i++){       var d = childs[i].cloneNode(true);        div.appendChild(d);      }    };  };  </script>  </body>【对象都是引用,引用指的是同一个】// childs = div.getElementsByTagName('div'); 会动态获取页面的div个数。// div.appendChild(d); 动态插入// 所以导致childs.length 一直在增加。 i < childs.length 永远成立解决办法: 可以先把节点添加到文档片段节点在。再在for循环外,一次appendChild 进去
原创粉丝点击