我想用类.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>
非常感谢帮助!
答案 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>