HTMLCollection - Web API 接口参考 编辑

HTMLCollection 接口表示一个包含了元素(元素顺序为文档流中的顺序)的通用集合(generic collection),还提供了用来从该集合中选择元素的方法和属性。

注意:由于历史原因(DOM4之前,实现该接口的集合只能包含 HTML 元素),该接口被称为 HTMLCollection

HTML DOM 中的 HTMLCollection 是即时更新的(live);当其所包含的文档结构发生改变时,它会自动更新。

属性

HTMLCollection.length 只读
返回集合当中子元素的数目。

方法

HTMLCollection.item()
根据给定的索引(从0开始),返回具体的节点。如果索引超出了范围,则返回 null
HTMLCollection.namedItem()
根据 Id 返回指定节点,或者作为备用,根据字符串所表示的 name 属性来匹配。根据 name 匹配只能作为最后的依赖,并且只有当被引用的元素支持 name 属性时才能被匹配。如果不存在符合给定 name 的节点,则返回 null

在 JavaScript 中使用

在 JavaScript 中,为了获取给定的 HTMLCollection 的元素,可以使用方括号语法来代替直接调用 item()namedItem() 方法。在方括号中,数值如同 item(),字符串值如同 namedItem()。

例如,假定在文档中有一个 <form> 元素,且它的 id 是 "myForm"

var elem1, elem2;

// document.forms 是一个 HTMLCollection

elem1 = document.forms[0];
elem2 = document.forms.item(0);

alert(elem1 === elem2); // 显示 "true"

elem1 = document.forms["myForm"];
elem2 = document.forms.namedItem("myForm");

alert(elem1 === elem2); // 显示 "true"

浏览器兼容性

当使用字符串作为 namedItem 的参数,且匹配的元素多于一个时,不同的浏览器表现不同。Firefox 8 表现如同 DOM 2 和 DOM 4 说明的,返回第一个匹配的元素。而 Webkit 浏览器和 IE 返回另外一个 HTMLCollection,Opera 返回一个包含所有元素的 NodeList

规范

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:76 次

字数:4276

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文