Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建节点列表?_Javascript_Nodelist - Fatal编程技术网

Javascript 如何创建节点列表?

Javascript 如何创建节点列表?,javascript,nodelist,Javascript,Nodelist,我使用document.getElementsByTagName('p')获得了页面中存在的标记 我想要的是,在nodeList中添加这些标记,就像document.querySelectorAll一样 例如: 假设一个页面中存在4个标记。 我想添加4个标签作为节点列表 我编写了以下代码: var elem = null, nodList = document.createDocumentFragment(), i; elem = document.getElementsByTagName('p

我使用
document.getElementsByTagName('p')
获得了页面中存在的
标记
我想要的是,在nodeList中添加这些标记,就像
document.querySelectorAll
一样

例如:
假设一个页面中存在4个
标记。 我想添加4个标签作为节点列表

我编写了以下代码:

var elem = null, nodList = document.createDocumentFragment(), i;
elem = document.getElementsByTagName('p');
for (i = 0; i < elem.length; i++){
    nodList.appendChild(elem[i]);
}
var elem=null,nodList=document.createDocumentFragment(),i;
elem=document.getElementsByTagName('p');
对于(i=0;i

但不幸的是,它不能很好地工作,尤其是在
IE 6、7
浏览器中。

问题在于
文档。getElementsByTagName
返回一个“实时”元素集合。您正在修改循环中的DOM,而底层的“live”集合也在更改(请参阅)。或者,使用两个循环,一个用于构建要添加到节点列表的元素数组,另一个用于将它们附加到节点列表。

签出