如何使用setAttribute在元素上设置多个类?

OVE*_*ONE 17 html javascript css dom

如何设置元素以具有多个类?

初步尝试:

element.setAttribute("class","class1","class2");
element.className="class1 , class2";
element.class="class1 , class2";
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 36

只需将属性设置为正常.它只是将属性设置为您传递的任何字符串,它不知道有关如何处理值的任何特殊规则.

该属性采用空格分隔的类列表,因此:

element.setAttribute("class","class1 class2");
Run Code Online (Sandbox Code Playgroud)

但是...... Internet Explorer的旧版本(我认为7及更低版本)在setAttribute实现中存在严重错误- 所以不要使用它.请改用该className属性.

element.className = "class1 class2";
Run Code Online (Sandbox Code Playgroud)

另请注意,这些是HTML类.他们使用超越风格的应用.没有CSS类这样的东西(尽管有类选择器,其他选择器,规则集和属性,所有这些都在某些时间(错误地和混乱地)被称为"类").


ent*_*nio 7

该属性className是以空格分隔的值列表.


Dav*_*ave 5

试试这个:

document.getElementById("MyElement").className = "class1 class2";
Run Code Online (Sandbox Code Playgroud)

(注意两个名称之间的空格而不是逗号)

或者,如果您想添加已经存在的类:

    document.getElementById("MyElement").className += " class1 class2";
Run Code Online (Sandbox Code Playgroud)