从数组中删除元素:pop不是函数(javascript)

Aik*_*áro 2 javascript arrays function

thead = new Array();
alert(thead.length);
thead = document.getElementsByTagName("th");
alert(thead.length);


thead.pop();
alert(thead.length);
Run Code Online (Sandbox Code Playgroud)

document.getElementsByTagName("th")返回一个元素数组,所以thead变量应该是一个数组,如果是这样,那么为什么它给我错误"thead.pop()不是一个函数"?

JAA*_*lde 7

getElementsByTagName(docs)不返回Array,它返回一个NodeList.如链接NodeList文档所述:

NodeList与数组非常相似,并且很容易在它们上使用Array.prototype方法.然而,这是不可能的.

Array你可以用a做一些类似的事情NodeList,你甚至可以使用.apply一些Array.prototype方法,但你应该阅读文档以避免"陷阱",特别是在NodeList"生活"的问题可能会让你感到困惑的情况下.