用JavaScript(不使用jQuery)从元素中删除CSS类
用JavaScript(不使用jQuery)从元素中删除CSS类
这个问题已经有了答案:
有人可以告诉我如何仅使用JavaScript从元素中删除类吗?
请不要用jQuery来回答,因为我不能使用它,而且我也不知道它的东西。
admin 更改状态以发布 2023年5月23日
document.getElementById("MyID").className = document.getElementById("MyID").className.replace(/\bMyClass\b/,'');
其中MyID
是元素的ID,而MyClass是您希望删除的类的名称。
更新:
为了支持包含破折号字符的类名,例如"My-Class",请使用
document.getElementById("MyID").className = document.getElementById("MyID").className .replace(new RegExp('(?:^|\\s)'+ 'My-Class' + '(?:\\s|$)'), ' ');
做到正确和标准的方法是使用 classList
。它现在已经在大多数现代浏览器的最新版本中得到了广泛的支持:http://caniuse.com/#search=classList
ELEMENT.classList.remove("CLASS_NAME");
remove.onclick = () => { const el = document.querySelector('#el'); el.classList.remove("red"); }
.red { background: red }
Test