繁体   English   中英

如何使用setAttribute更改样式属性,而不是在IE8上使用style.cssText

[英]How can I change style attribute using setAttribute instead of using style.cssText on IE8

我可以在IE 8上改变TR样式:

 _tr.style.cssText = "";

但是我有很多属性,它们不仅仅是STYLE(id,align等等) - 我不知道在设计时 - 改变并希望一次性使用setAttribute完成所有操作。

 _tr.setAttribute("style", "")

适用于Chrome和IE Edge但不适用于IE 8. IE 8还有其他语法吗?

更新:我知道IE8是一场噩梦,但我正处于一个大公司项目,他们将在年底转向现代IE。

您可以使用对象文字作为属性,并通过for / in循环添加它们:

<div id="test">This is a test</div>
<script>
    var div = document.getElementById('test');
    var styles = {'color':'#ff0000', 'backgroundColor':'#00ff00', 'width':'500px', 'height':'250px'};
    for (var style in styles) {
        div.style[style] = styles[style];
    }
</script>

作为一个附带问题:单独的css类不是更好的解决方案吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM