document.getElementsByName.length 在 IE 中返回 0



我知道document.getElementsByName在IE和Firefox中的工作方式不同,在IE中,它返回HTMLCollection,而在Firefox中,它返回NodeList。

在 Firefox 中,代码工作正常,而在 IE 中,它始终返回长度 0。IE 版本是 11。

代码为:

var fullToken = document.getElementsByName("0");
console.log(fullToken.length);
<span name ="0">h</span>
<span name ="0">e</span>
<span name ="0">l</span>
<span name ="0">l</span>
<span name ="0">o</span>

您的 HTML 无效。span元素不能具有name属性。

Internet Explorer 似乎忽略了禁止使用它的元素上的name属性。如果将span更改为input它将显示在列表中。

如果要描述一组使用 JavaScript 引用的元素,请使用带有getElementByClassNameclass

最新更新