HTMLAllCollection
已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。
HTMLAllCollection
接口表示所有文档元素(通过索引(类似于数组)和元素的 id
访问)的集合。它由 document.all
属性返回。
HTMLAllCollection
的形态与 HTMLCollection
非常相似,但两者在行为上存在许多细微差异,例如,HTMLAllCollection
可以作为函数调用,并且其 item()
方法可以使用表示元素 id
和 name
属性的字符串调用。
实例属性
HTMLAllCollection.length
只读-
返回集合中项目的数量。
实例方法
HTMLAllCollection.item()
-
返回位于集合中指定偏移位置的元素,或者返回其
id
或name
属性具有指定值的元素。如果未找到任何元素,则返回null
。 HTMLAllCollection.namedItem()
JavaScript 中的用法
索引访问
除了上述方法外,可以通过整数索引和字符串属性名称来访问 HTMLAllCollection
中的元素。HTML id
属性可能包含 :
和 .
作为有效字符,这需要使用方括号属性访问。collection[i]
等同于 collection.item(i)
,其中 i
可以是整数、包含整数的字符串或表示 id
的字符串。
作为函数调用
HTMLAllCollection
对象是可调用的。当无参数调用或传入 undefined
时,它返回 null
。否则,当传入相同参数时,它返回与 item()
方法相同的值。
特殊类型转换行为
由于历史原因,document.all
是一个在以下方面表现得像 undefined
的对象:
这些特殊行为确保了如下代码能够正常工作:
if (document.all) {
// 假设我们是在 IE 浏览器中;提供特殊逻辑
}
// 假设我们是在一个现代浏览器中
即使代码在出于兼容性原因实现了 document.all
的浏览器中运行,它也将继续提供现代浏览器的行为。
然而,在所有其他上下文中,document.all
仍然是一个对象。例如:
规范
Specification |
---|
HTML Standard # the-htmlallcollection-interface |
浏览器兼容性
BCD tables only load in the browser