我正在尝试将类应用于HTML节点数组,例如:

 var divRelatedBox = document.getElementsByClassName('related-box');
 divRelatedBox.classList.toggle('hide')

但这没用...

我究竟做错了什么?

最佳答案

您可能会对jQuery感到困惑。与jQuery对象相反,您不能将 HTMLElement 方法直接应用于 HTMLCollection 并将其应用于列表中的每个元素。您必须遍历该列表,然后逐一应用您的方法。

var divRelatedBox = document.getElementsByClassName('related-box');

for (var i = 0; i < divRelatedBox.length; i++) {
    divRelatedBox[i].classList.toggle('hide');
}

或者使用 Array.prototype.forEach ,我发现它更干净:
Array.prototype.forEach.call(divRelatedBox, function (element) {
    element.classList.toggle('hide');
});

关于javascript - 将类别名称套用至HTML节点阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34560603/

10-10 01:58