通过js为元素添加多项样式,浏览器全兼容写法
内容摘要
js给元素添加多项样式,浏览器全兼容示例写法:
<a href="javascript:;" id="test" style="font-size:25px;background:#080;">测试3</a>
<script>
var obj=document.getElem
<a href="javascript:;" id="test" style="font-size:25px;background:#080;">测试3</a>
<script>
var obj=document.getElem
文章正文
js给元素添加多项样式,浏览器全兼容示例写法:
<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下 ^_^
代码注释