IE中的document.getElementsByName.length返回0

时间:2018-10-03 14:41:21

标签: javascript internet-explorer

我知道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>

1 个答案:

答案 0 :(得分:2)

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

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

如果要描述一组元素以供JavaScript引用,请在class中使用getElementByClassName