我正在使用 querySelectorAll 获取一个 NodeList(本质上是一个类似数组的对象),如下所示:
var elements = document.getElementById('something').querySelectorAll('.lazy');
然后,我尝试使用 splice
从此 NodeList 中删除一项:
elements.splice(0, 1);
我收到以下错误:
elements.splice is not a function.
如何从 NodeList 中删除元素?或者,我应该将 NodeList 的每个元素存储在一个数组中并使用拼接吗?
最佳答案
NodeList
不是 Array
或其子类型,因此它无法访问 Array.prototype.splice
。
如果要使用splice
,可以先转成Array:
var elementArray = Array.prototype.slice.call(elements);
编辑:抱歉,拼接和切片混淆了。
关于javascript - 不能将拼接与 querySelectorAll 返回的 NodeList 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33635494/