js给元素添加多项样式,浏览器全兼容示例写法:
1
2
3
4
5
6
7
|
<a href= "javascript:;" id= "test" style= "font-size:25px;background:#080;" >测试3</a>
<script>
var obj=document.getElementById( "test" );
var oldStyle=obj.style.cssText;
alert(oldStyle);
obj.style.cssText= "border:2px red solid;color:#f00;" +oldStyle;
</script>
|
js给元素添加多项样式,最快捷方便的是使用cssText属性,但其会重写整个style原有的值,要保留原先的style样式值,很简单,可像上示例中一样,用一个变量记录下原先的style原始值,再做一个字符串的拼接即可。
但要注意的一点是:ie8及以下浏览器obj.style.cssText返回的最后一个样式值是没分号的,形如:font-size:25px;background:#080 。只想说,ie一如既往的让人感觉不爽,呵呵。
所以示例中有意将oldStyle放置在字符串拼接的后面,这样拼接的样式字符串就算最后一个样式值没分号,也不会出问题,各浏览器样式应用显示就一致了,这也算是一个小技巧吧,没啥技术含量,但易忽略或忘记,知道自己记性不好,Mark下 ^_^