2 回答
TA贡献1834条经验 获得超8个赞
正如评论中提到的,你不能让多个东西使用相同的东西 - 你应该使用一个。idclass
例如,这表示您有一个段落,而这种段落是“编号段落”:
<p class="numbered-paragraph">
现在,您可以选择具有该类的所有段落,循环访问它们并为每个段落指定一个数字。
此示例代码是显式的,因此很清楚 - 有很多方法可以缩短:
document.getElementById('numberGenerator')
.addEventListener('click', function(e) {
const paragraphs = document.querySelectorAll('.numbered-paragraph');
let i = 1;
for (p of paragraphs) {
p.innerText = 'paragraph number ' + (i++);
}
});
<p class="numbered-paragraph">Number</p>
<p class="numbered-paragraph">Number</p>
<p class="numbered-paragraph">Number</p>
<button id="numberGenerator">Order Elements</button>
注意 我还使用过带有匿名函数的 addEventListener,而不是具有命名函数的内联 onclick=。
TA贡献1854条经验 获得超8个赞
这里的主要问题是您使用了 而不是 。这样做的问题是,an 用于标识一个元素,而 a 可用于标识多个元素。如果你想要的是编号的段落元素,而不是一个有序的列表,这应该可以解决问题:idclassidclass
function orderElements() {
var reference = document.getElementsByClassName("thisIsANumber");
for (var i = 0; i < 3; i++) {
reference[i].innerHTML = i;
}
}
<body>
<p class="thisIsANumber">Number</p>
<p class="thisIsANumber">Number</p>
<p class="thisIsANumber">Number</p>
<button onclick="orderElements()">Order Elements</button>
</body>
添加回答
举报