DOM如何在div中添加多个样式

时间:2013-04-20 09:51:02

标签: javascript dom

我正在尝试使用DOM setAttribute添加多个样式属性,但它不起作用。我怎么能用JavaScript做到这一点?

 var modificar = document.getElementById('opciones');
 modificar.setAttribute('style','float:left');
 modificar.setAttribute('style','margin:0px');

4 个答案:

答案 0 :(得分:3)

在元素上使用style object

modificar.style.cssFloat = "left";
modificar.style.margin = "0px";

(请注意,它是cssFloat,而不是float来自JavaScript。这是因为float是ECMAScript规范第3版中的“未来保留字”[它不再是ES5中的在文字符号中编写属性名称时,不能使用保留字。因此,在定义样式对象时,如果发生冲突,他们会选择cssFloat之类的名称。)

对于包含破折号的属性,请改用camelCase:

modificar.style.backgroundColor = "#eee";

答案 1 :(得分:3)

setAttribute很可能正常工作,但由于你要调用它两次,第一次调用的结果会被第二次调用覆盖。

要么:

modificar.setAttribute('style','float: left; margin:0px;');

或者使用另一个答案中建议的style属性。

答案 2 :(得分:1)

有两种方法可以做到:

modificar.style.setAttribute('float','left');
modificar.style.setAttribute('margin','0px');

或:

modificar.style.cssFloat  = 'left';
modificar.style.margin = '0px';

(编辑:根据以后的帖子更正为cssFloat

答案 3 :(得分:1)

您可以将类设置为div:

var modificar = document.getElementById('opciones');
x.className = "someClass";

并在CSS中添加任意数量的样式:

.someClass {
    float:left;
    margin:0px;
    color : red;
    ...
    ...
}