香草JS:检查元素classList是否包含数组中的值并删除它们
Vanilla JS: Check if element classList contains values from an array and remove them
我有一个div
:
<div class="modal" id="modal">
偶尔,它也可能有一个来自数组的类["success", "error", "warning"]
我如何检查元素是否有该数组中的任何类并删除它们,而不删除modal
类?
我要做的是:
var modalAlertClasses = ['warning', 'error','success'];
var modal = document.getElementById('modal');
for (var i = 0; i < modal.classList.length; i++) {
if (modalAlertClasses.indexOf(modal.classList[i]) > -1) {
modal.classList.remove[modal.classList[i]];
console.log(modal.classList[i]);
}
}
您的代码使用以下
modal.classList.remove[modal.classList[i]];
但.classList.remove
是函数,所以应该写成
modal.classList.remove(modal.classList[i]);
var modalAlertClasses = ['warning', 'error','success'];
var modal = document.getElementById('modal');
modalAlertClasses.forEach(function(entry) {
if( modal.classList.contains(entry)){
modal.classList.remove(entry);
}
});
<div class="modal warning error" id="modal">
modal
</div>
最简洁的方式:
modal.classList.remove(...modalAlertClasses);
如果不支持- plain js:
modalAlertClasses.forEach(function(el) {
modal.classList.remove(el);
});
相关文章:
- Mongoose-在更新中删除数组元素
- 在特定索引处剥离/删除数组中的值
- Framework7:使用swipeout删除数组中的项
- Javascript删除数组中某个位置之后的项
- 通过选中和取消选中复选框来添加和删除数组中的值
- 编写删除数组并添加到列表的函数
- Javascript - 删除数组中的重复值
- 在 Kineticjs 中删除数组中的组
- 如何根据数组内容添加/删除数组中的元素
- 用于删除数组中的零的Javascript函数代码
- Javascript-仅使用pop()方法删除数组中的负值
- 删除数组元素并将它们添加回原来的位置
- 如果一个键匹配,如何删除数组元素
- 无法使用拼接删除数组中的元素
- 如何从ko.computed中删除数组项
- 删除数组中的重复项,为什么此代码不起作用
- 使用另一个数组按索引删除数组中的对象
- 在 jquery 中,如何通过索引[“键”] 或值删除数组元素
- 使用 Lodash 删除数组中的元素
- 按索引删除数组元素