Javascript帮助需要使用getElementsByClassName

时间:2016-01-24 08:06:19

标签: javascript

我在向使用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");
    }
}

0 个答案:

没有答案