我在向使用getElementsByClassName
为什么这样做?
<div id="test">some words</div>
<button type="button" onclick="showAnswers();">Submit</button>
<script>
function showAnswers() {
document.getElementById("test").classList.add("foo");
}
</script>
但这不是吗?
<div class="test">some words</div>
<button type="button" onclick="showAnswers();">Submit</button>
<script>
function showAnswers() {
document.getElementsByClassName("test").classList.add("foo");
}
</script>
如何才能让它与getElementsByClassName
一起使用?
我想要完成的任务(如果它有帮助)
我将编写多个测验,每个测验都有不同数量的问题。
学生点击提交按钮获得他/她的分数后,会触发每个问题后显示的隐藏答案。
我会通过添加一个将其从visibility: hidden;
更改为visibility: visible;
的类或类似的css方法来触发显示这些div。
我不想为每个答案容器(div)添加唯一ID,也不会为它们使用id。因此,如果可能的话,我宁愿按getElementsByClassName
定位,因为这似乎是最简单的解决方案。
编辑 - 重复问题 - 基于What do querySelectorAll, getElementsByClassName and other getElementsBy* methods return?
的具体答案function showAnswers() {
var elems = document.getElementsByClassName('test');
for(var i = 0; i < elems.length; i++) {
elems[i].classList.add("foo");
}
}