1

当您使用document.getElementsByTagName()我们搜索元素时,我们会得到一个HTMLCollection. 如果元素有ids 则输出有带有indexid的元素。 在此处输入图像描述

问题是,这种结构会在所有浏览器中保持不变还是会改变?

例子

(function() {
  var inputs = document.getElementsByTagName("div")[0].children;
  console.log(inputs);
})()
<div id="content">
  <input type="text" id="input1" />
  <input type="text" id="input2" />
  <input type="text" id="input3" />
  <input type="text" id="input4" />
</div>

4

1 回答 1

1

如果有多个元素匹配用作索引的字符串,则不能依赖浏览器执行此操作。

浏览器兼容性
当有多个元素匹配用作索引的字符串(或 namedItem 的参数)时,不同的浏览器会表现出不同的行为。Firefox 8 的行为与 DOM 2 和 DOM4 中指定的一样,返回第一个匹配元素。在这种情况下,WebKit 浏览器和 Internet Explorer 返回另一个 HTMLCollection,而 Opera 返回所有匹配元素的 NodeList。

来源:https ://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection

于 2016-01-08T11:49:01.007 回答