不能与querySelectorAll返回的NodeList一起使用splice

时间:2015-11-10 17:02:39

标签: javascript nodelist

我使用querySelectorAll获取NodeList(实际上是一个类似于Array的对象),如下所示:

var elements = document.getElementById('something').querySelectorAll('.lazy'); 

然后,我尝试使用splice删除此NodeList中的一个项目:

elements.splice(0, 1);

我收到以下错误:

elements.splice is not a function.

如何从NodeList中删除元素?或者,我应该将NodeList的每个元素存储在一个数组中并使用splice?

1 个答案:

答案 0 :(得分:1)

NodeList不是Array或其子类型,因此无法访问Array.prototype.splice

如果您想使用splice,可以先将其转换为数组:

var elementArray = Array.prototype.slice.call(elements);

编辑:对不起,拼接和切片混在一起。