其实前面写过一篇“获取和设置目标元素的属性值”的,本文补充说明一下里面的兼容性问题:

 

先抛结论:

 

 

  • 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;
}