我正在尝试使用DOM setAttribute
添加多个样式属性,但它不起作用。我怎么能用JavaScript做到这一点?
var modificar = document.getElementById('opciones');
modificar.setAttribute('style','float:left');
modificar.setAttribute('style','margin:0px');
答案 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;
...
...
}