文章内容
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
黄兵个人博客原创。
评论列表