我试了一下Array.isArray()为false,也不是NodeList,那返回的是个什么东西呢?如何准确检测它的类型呢
我试了一下Array.isArray()为false,也不是NodeList,那返回的是个什么东西呢?如何准确检测它的类型呢
>>> document.getElementsByClassName('a')
HTMLCollection[]
是一种 array-like 对象,在 JavaScript 有 Array 之前就已经存在的东西。参见:Why are there so many array-like objects in the DOM?。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
如依云大大所说,是
HTMLCollection
.在我往下贴回答之前,我想说
getElmentsByClassName
,亲,少了个字母哦。//难怪我刚才在console运行报错。MDN对getElementsByClassName的解释>>
为什么不是
NodeList
,我猜题主应该是看过getElementsByTagName
关于TagName,这里又有一篇解释>>
所以我试了下两个方法比较类型。

我的chrome版本两个方法返回的对象都不是
NodeList
类型了。PS:之前在看这个方法的时候,发现
ie
那边只有ie9+才支持。感觉发现了新大陆,感谢题主提供问题~