设置className快捷方式

时间:2013-05-20 19:02:43

标签: javascript shortcut

是否知道在JavaScript中设置className属性的单行内容?我的意思是,如果已经定义了一些类(-es),你不必担心。

我能想到的最短,是

var objDemo = document.getElementById("demo");
objDemo.className = "newclass " + (objDemo.className || "");

如果当前className未定义,则不会死,但是它留下了尾随空格。这对当前的浏览器来说会有问题吗?

2 个答案:

答案 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;
}