getAttribute和setAttribute设置style的兼容问题

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

 

先抛结论:

 

 

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

你可能感兴趣的:(getattribute,setAttribute)