通过使用<p>,我获得了存在于页面中的document.getElementsByTagName('p')标记。
我想要的是在nodeList中添加这些标记,就像document.querySelectorAll一样。
例如,:
假设一个页面中有4个<p>标记。我想添加4个标记作为nodeList。
我编写了以下代码:
var elem = null, nodList = document.createDocumentFragment(), i;
elem = document.getElementsByTagName('p');
for (i = 0; i < elem.length; i++){
nodList.appendChild(elem[i]);
}但是不幸的是,它不能很好地工作,特别是在IE 6 ,7浏览器中。
发布于 2014-02-15 13:34:40
问题是document.getElementsByTagName返回元素的“活动”集合。您正在修改循环中的DOM,底层的"live“集合也在改变(参见MDN getElementsByTagName)。或者,使用两个循环--一个用于构建要添加到nodeList的元素数组,另一个用于将它们附加到您的nodeList中。
https://stackoverflow.com/questions/21797832
复制相似问题