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 - 存储日期,就好像它们是在特定时区输入的一样

javascript - 找到某个类并返回它

javascript - jQuery : find next table-row

javascript - 如何使用 es6 模板文字作为 Angular 组件输入

php - Symfony DomCrawler : Find element with specific attribute value

javascript - 如何在 jQuery 选择器中执行 Javascript

jquery - 字段的 .val() 未更新

html - 使用 css 隐藏表中的元素 tr

javascript - Flexbox 强制滚动到底部

JQuery:在(wordpress)循环内检索和更新单个跨度值