文章内容

2021/9/29 16:26:39,作 者: 黄兵

纯 Javascript 操作 DOM class

在页面上使用纯 Javascript 操作 class 属性,具体示例如下:

增加 class 属性:

var testarray = document.getElementsByClassName("currentclass");
for(var i = 0; i < testarray.length; i++)
{
    testarray[i].className += " classtobeadded";
}

另外一种写法:

var testarray = (document).getElementsByClassName("currentclass");
for(var i = 0; i < testarray.length; i++)
   testarray.item(i).className += " classtobeadded";

删除 class 属性:

var elems = document.querySelectorAll(".widget.hover");

[].forEach.call(elems, function(el) {
    el.classList.remove("hover");
});

另外一种方法:

var elements = document.getElementsByClassName('widget hover');

while(elements.length > 0){
    elements[0].classList.remove('hover');
}

或者是:

for (var i = 0; i < elements.length; i++) {
   elements[i].classList.remove('hover');
}

判断 class 是否包含某个值:

e = document.getElementsByClassName('item');
for(var i = 0; i < e.length; i++) {
    // Only if there is only single class
    if(e[i].className == 'item') {
        // Do something with the element e[i]
        alert(e[i].className);
    }
}

或者是:

for (let i = 0; i < getArticleVideoContainer.length; i++) {
    if (getArticleVideoContainer[i].classList.contains('hidden')) {
        getArticleVideoContainer[i].classList.remove('hidden');
    }
}

以上通过纯 Javascript 实现了对 class 的增、删、查等功能,当然如果是 id 更好操作一些,class 多了一个遍历过程。


参考资料:

1、addClass to getElementsByClassName array

2、How to remove a class from elements in pure JavaScript?

3、document.getElementsByClassName exact match to class


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - 纯 Javascript 操作 DOM class

分享到:

发表评论

评论列表