📅  最后修改于: 2023-12-03 14:52:09.283000             🧑  作者: Mango
在应用的项目中,可能需要改变DOM元素的类,例如添加类、删除类、替换类等。当我们想删除所有兄弟姐妹中的特定类时,可以使用以下方法。
classList是一个只读属性,返回元素的类名集合,可以使用其方法来操作类名。我们可以使用以下代码来删除所有兄弟姐妹中的特定类:
const siblings = Array.from(element.parentNode.children); //获取兄弟节点
siblings.forEach(sibling => {
if (sibling.classList.contains('className')) {
sibling.classList.remove('className');
}
});
代码解释:
如果要一次性删除多个类,可以使用正则表达式。以下代码可以删除所有兄弟姐妹中的以"foo-"为前缀的类:
const siblings = Array.from(element.parentNode.children); //获取兄弟节点
const reg = /^foo-/; //匹配以"foo-"为前缀的类
siblings.forEach(sibling => {
const classes = sibling.className.split(' '); //将类名分割成数组
const filteredClasses = classes.filter(className => !reg.test(className)); //过滤掉需要删除的类
sibling.className = filteredClasses.join(' '); //将过滤后的类名重新赋值给元素
});
代码解释:
以上就是删除所有兄弟姐妹中的特定类的两个方法,根据实际需求选择适合的方法即可。