如果我调用document.getElementsByClassName('cl'),我将得到一个HTMLCollection。它似乎包含Element对象而不是HTMLElement对象,请参见Flow sourceMozilla doc,引用它包含的元素不是HTMLElements。 W3C specification写道HTMLCollection是一个历史工件,尽管我似乎找不到任何建议的替代方法(“ Elements”是什么?)。

那么我应该检查返回的对象是否确实是HTMLElement?还有什么可能?什么时候?还是有更好的方法来执行getElementsByClassName和类似方法? (不使用外部库)

提前致谢!

最佳答案

DOM不是HTML专有的。 DOM规范还支持XML和SVG(这是XML的一种形式)。 Element是一个通用对象,它映射到任何类型的单个元素。

另外,替代方法是NodeList,由querySelectorAll()返回。

10-05 23:03