其实前面写过一篇“获取和设置目标元素的属性值”的,本文补充说明一下里面的兼容性问题:
先抛结论:
- IE6-7在使用getAttribute或者setAttribute,不能直接操作样式
举例:
<div id="test" style="height:200px;width:100px;border:1px solid red;"></div>
var div = document.getElementById('test');
alert(div.getAttribute('style')); //IE6-7返回的是一个style对象
所以我们在设计getAttr这样的获取元素属性值的时候,会预先判断key是否是style
if(key == 'style'){
return element.style.cssText;
}
同样在调用setAttribute设置样式的时候也是一样:
if(key == 'style'){
element.style.cssText = value;
}