我有一个对象 dom
,它有一个名为 changeCss
的属性,可以更改任何元素的 css:代码如下:
var Dom = {
changeCss : function(element, properties){
if(typeof (properties) === "object"){
var properties_name = Object.keys(properties),
properties_value = [];
for ( var i = 0; i < properties_name.length ; i++ ){
var a = properties_name[i],
b = properties[a];
properties_value[i] = b;
element.setAttribute("style", a+":" + b+";");
};
}else{
throw 'properties of '+ element +" should be object";
}
},
}
因此,从这段代码中,您将了解我想如何更改任何元素的 css,并且效果很好。但我面临的问题是,如果我正在编写这段代码:
var x = document.getElementById("some_html_tag_id");
Dom.changeCss(x, {"width": "100px", "height":"80px"});
那么样式元素只包含 height:80px
而不是 width:100px
!如何添加所有这些样式属性?
谢谢
安妮
最佳答案
首先替换
element.setAttribute
与
element.style[a]= b;
但基本上你应该明白你知道。 SetAttribute 函数将新值设置为属性样式。 所以 而我==0 style='宽度:100px;' 而我==1 style= 'height:80px;'
因为您只是覆盖值。如果您想在代码中保留 SetAttribute 函数。您需要先连接所有值,然后使用设置属性
关于javascript - 为什么javascript函数不能正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24797993/