javascript - HTMLCollection 困惑

标签 javascript dom

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

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

提前致谢!

最佳答案

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

此外,替代方案是 NodeListquerySelectorAll() 返回。

关于javascript - HTMLCollection 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33330639/

相关文章:

javascript - 使用 JQuery AJAX 的自动保存架构

javascript - 从 API 结果导出 CSV 在 Firefox JavaScript 上不起作用

javascript - 如何使用 hammer.js jQuery 插件设置不同的速度来识别滑动?

dom - 我做什么用 XPath 选择第一个/第二个或第四个 td 内容

Selenium:selenium 如何识别元素可见与否?它有可能加载到 DOM 中但不呈现在 UI 上吗?

xml - 如何使用 XML DOM API 去每个非文本节点?

javascript - Bootstrap 4 轮播淡入淡出动画无法正常工作

javascript - 如何检查给定的 Web 应用程序中是否使用了 jQuery?

javascript - 如何用javascript删除dom元素?

javascript - `onselectionchange` 的 HTML5 事件