我的代码是
elem.setAttribute( 'style','background-color:' + l_DivBgcolor);
我还想添加一个与bgcolor颜色相同的边框颜色。 我的问题是如何在设置bgcolor后为当前样式添加另一种样式?
我trien put
elem.setAttribute( 'style','border-color:' + l_DivBgcolor );
在第一个setAttribute之后但它删除了bgcolor ang仅设置了边框颜色..
答案 0 :(得分:6)
不要为此使用属性。 IE中的属性实现不正确,几乎不是您需要的。此外,指定style属性将清除现有的内联样式,包括脚本设置的样式。请改用通用支持的style
属性:
elem.style.backgroundColor = l_DivBgcolor;
elem.style.borderColor = l_DivBgcolor;
答案 1 :(得分:1)
可以完成:
elem.setAttribute( 'style','border-color:' + l_DivBgcolor + '; background-color:' + l_DivBgcolor + ';');
或者你可以试试:
elem.style.display.borderColor = lDivBgcolor;
elem.style.display.backgroundColor = lDivBgcolor;
答案 2 :(得分:1)
您可以使用style.cssText添加到(+ =)或替换(=)内联样式规则。
附加时,原始样式中存在的任何属性都将替换为新值。 添加了新属性,原始但未替换的任何属性都保留原样。
elem.style.cssText+=';background-color:'+ l_DivBgcolor+';border-color:'+l_DivBgcolor;
答案 3 :(得分:0)
使用此
elem.setAttribute( 'style','background-color:' + l_DivBgcolor+ ' border-color:' + l_DivBgcolor);
答案 4 :(得分:0)
变量和硬代码值:
element.setAttribute( 'style','top:' + t + '; left:' + l + '; width:' + w + '; height:' + h + ';');
element.setAttribute( 'style','top: 0; left: 0 ; right: 0; bottom: 0; opacity: 0.7;');
答案 5 :(得分:0)
您可以使用对象并设置多属性! 例如,如果使用标签和
let attGroup={
id:'demo',
class:'style',
href:'#'
};
for(let key in attGroup){
elem.setAttribute(`${key}`,`${attGroup[key]}`);
}
<a id="demo" class="style" href="#">Link</a>
答案 6 :(得分:-1)
只是连接它们:
elem.setAttribute( 'style','background-color:' + l_DivBgcolor + ';border-color:' + l_DivBgcolor + ';');
答案 7 :(得分:-1)
由于您要直接更改样式属性而不是元素的样式属性,因此可以在字符串中连接样式
var atValue = 'border-color:' + l_DivBgcolor + ';';
atValue += 'background-color:' + l_DivBgcolor + ';';
elem.setAttribute( 'style', atValue );