要根据点击等事件动态修改元素的类,JavaScript 提供了多种方法:
现代浏览器支持 classList,这简化了类处理:
document.getElementById("MyElement").classList.add('MyClass'); document.getElementById("MyElement").classList.remove('MyClass'); if (document.getElementById("MyElement").classList.contains('MyClass')); document.getElementById("MyElement").classList.toggle('MyClass');
对于缺少 classList 的浏览器,请使用以下方法:
设置className属性来替换所有现有的类:
document.getElementById("MyElement").className = "MyClass";
将空格和新类名称附加到现有类名称:
document.getElementById("MyElement").className += " MyClass";
使用正则表达式删除特定类而不影响其他类:
document.getElementById("MyElement").className = document.getElementById("MyElement").className.replace(/(?:^|\s)MyClass(?!\S)/g, '');
使用相同的正则表达式进行类删除来检查类是否存在:
if (document.getElementById("MyElement").className.match(/(?:^|\s)MyClass(?!\S)/))
将这些操作包装在函数中并调用它们来自事件处理程序:
function changeClass() { // Code examples from above } document.getElementById("MyElement").addEventListener('click', changeClass);
jQuery 等框架简化了类操作:
$('#MyElement').addClass('MyClass'); $('#MyElement').removeClass('MyClass'); if ($('#MyElement').hasClass('MyClass')) $('#MyElement').click(changeClass);
以上是如何高效操作 JavaScript 元素类?的详细内容。更多信息请关注PHP中文网其他相关文章!