是否知道在JavaScript中设置className
属性的单行内容?我的意思是,如果已经定义了一些类(-es),你不必担心。
我能想到的最短,是
var objDemo = document.getElementById("demo");
objDemo.className = "newclass " + (objDemo.className || "");
如果当前className
未定义,则不会死,但是它留下了尾随空格。这对当前的浏览器来说会有问题吗?
答案 0 :(得分:1)
document.getElementById('demo').classList.add('newclass');
您可以在Mozilla开发网络上阅读有关此API的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/element.classList
请注意,目前尚不支持10之前的Internet Explorer版本,但在上面引用的页面上提供了polyfill。
答案 1 :(得分:1)
您可能需要首先检查已经是否包含您要添加的名称的类, 或者只要找到它就把它移到类列表的末尾。
此功能适用于大多数浏览器,没有任何polly填充:
function addClass(element, c){
var c1= element.className.replace(RegExp('\\s*'+c+'\\b\\s*'), '');
element.className= c1? c1+' '+c:c;
}