使用鼠标悬停更改类的innerHTML

时间:2018-02-11 11:12:43

标签: javascript html

我想用类.innerHTML更改每个元素的knopf_leer。我已经尝试过使用Ids document.getElementById("id").innerHTML = "replacement"并且它工作正常,所以我很惊讶它不能在课堂上工作。

function ersetz_mich() {
  document.getElementsByClassName("knopf_leer").innerHTML = "replacement";
}
<a class="knopf_leer" onmouseover="ersetz_mich();">hi</a>
<a class="knopf_leer" onmouseover="ersetz_mich();">hi</a>
<a class="knopf_leer" onmouseover="ersetz_mich();">hi</a>
<a class="knopf_leer" onmouseover="ersetz_mich();">hi</a>

非常感谢帮助!

1 个答案:

答案 0 :(得分:3)

方法getElementsByClassName返回HTMLCollection,而不是单个元素。因此,您必须迭代其中的每个元素并设置innerHTML

[].forEach.call(document.getElementsByClassName("knopf_leer"), function (element) {
    element.innerHTML = "replacement";
});

在您的特定情况下,由于您正在使用内联JavaScript,因此您只需将this作为参数传递并使用它。

<强>段:

function ersetz_mich(element) {
  element.innerHTML = "replacement";
}
<a class="knopf_leer" onmouseover="ersetz_mich(this);">hi</a>
<a class="knopf_leer" onmouseover="ersetz_mich(this);">hi</a>
<a class="knopf_leer" onmouseover="ersetz_mich(this);">hi</a>
<a class="knopf_leer" onmouseover="ersetz_mich(this);">hi</a>