【问题标题】:Why isn't getElementsByClassName working?为什么 getElementsByClassName 不起作用?
【发布时间】:2019-06-10 22:23:07
【问题描述】:

我不明白为什么 getElementsByClassName 在这里不起作用。

  n = new Date();
  y = n.getFullYear();
  document.getElementByClassName("date").innerHTML = y;
<span class="date"></span> CompanyName

【问题讨论】:

  • 它返回一个 list 元素,您必须遍历它并单独对每个元素进行操作。此外,它的拼写与您的问题标题一样,而不是您发布的代码,这会导致您的浏览器控制台出现异常。
  • 这个:document.getElementByClassName 是其他 cmets 之外的一个错字。
  • 你得到了一个带有 ByClassName 的数组。因此,如果您只期望 1 回来,您可以这样做。 document.getElementByClassName("date")[0].innerHTML
  • 我忘记了数组。谢谢。

标签: javascript getelementbyid getelementsbyclassname


【解决方案1】:
  1. 函数名是getElementsByClassName,不是getElementByClassName
  2. getElementsByClassName 返回一个类似数组的元素对象,而不是元素之一。

代码应如下所示:

n = new Date();
y = n.getFullYear();
document.getElementsByClassName("date")[0].innerHTML = y;
<span class="date"></span> CompanyName

【讨论】:

  • 注意:它不返回一个数组,而是一个可迭代但不继承数组原型方法(如 map 或 forEach)的节点集合。
猜你喜欢
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
  • 2011-03-21
  • 2013-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多