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) {
// Assume that we are in IE; provide special logic
}
// Assume that we are in a modern browser
即使在出于兼容性原因而实现 document.all
的浏览器中运行代码,也能够继续提供现代行为。
但是,在所有其他上下文中,document.all
仍然是一个对象。例如
规范
规范 |
---|
HTML 标准 # the-htmlallcollection-interface |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。