要判断并增加或删除元素的class,可以使用JavaScript中的classList
属性和toggle()
方法。classList
属性是一个只读的、表示元素类名的集合(DOMTokenList),可以用于添加、删除和切换类名。toggle()
方法会在元素中切换一个类名(如果该类名不存在,则添加之;否则删除之)。
以下是增加class的示例:
var element = document.getElementById("myElement");
if (element.classList) {
element.classList.add("myClass");
} else {
element.className += " myClass";
}
这个代码段首先检查元素是否有classList
属性,如果有,就使用classList
的add()
方法添加类名;否则,使用className
属性将类名添加到元素。
以下是删除class的示例:
var element = document.getElementById("myElement");
if (element.classList) {
element.classList.remove("myClass");
} else {
var regExp = new RegExp("(\\s|^)" + "myClass" + "(\\s|$)");
element.className = element.className.replace(regExp, " ");
}
这个代码段使用类似的方法来删除类名,只是这里使用remove()
方法或者replace()
方法来删除类名。
在单个元素上添加或删除类名可能很简单。但如果需要在多个元素上执行相同的操作,则需要迭代这些元素,并分别为它们添加或删除类名。以下是一个使用querySelectorAll()
方法选中并添加类名的示例:
var elements = document.querySelectorAll(".myElements");
Array.prototype.forEach.call(elements, function(el, i){
el.classList.add("myClass");
});
这个代码段选择所有类名为myElements
的元素,并使用forEach
方法迭代元素列表并为它们添加myClass
类名。
希望这个完整攻略对你有帮助!
本文链接:http://task.lmcjl.com/news/8681.html