【发布时间】:2015-10-25 22:14:24
【问题描述】:
如果我打电话给document.getElementsByClassName('cl'),我会得到一个 HTMLCollection。它似乎包含 Element 对象而不是 HTMLElement 对象,请参阅 Flow source 或 Mozilla doc 引用它包含不是 HTMLElements 的元素。 W3C specification 写道 HTMLCollection 是一个历史产物,尽管我似乎找不到任何建议的替代方案(什么是“元素”?)。
那么我应该检查返回的对象是否确实是 HTMLElement 吗?还有什么可能是什么时候?或者有没有更好的方法来做getElementsByClassName 和类似方法的工作? (不使用外部库)
提前致谢!
【问题讨论】:
-
XML 元素是我的猜测。并非所有内容都不再是 html,因此在某些时候删除名称是有意义的。
-
是的,我知道,但 HTMLDocument 仍然只能包含 HTMLElements。
-
但在实践中它们是什么以及它们的实现可能是其他更通用和可重用的子类。
标签: javascript dom