JavaScript中Style与CurrentStyle对象的区别及兼容处理

作者:竹影

时间:2026-10-24

浏览:658

本文详细解析JavaScript中style对象与currentStyle对象的用法及区别。style对象仅获取内联样式,而currentStyle或getComputedStyle返回经过层叠计算后的最终样式。文章提供了获取元素样式的代码示例,并重点介绍了IE与其他浏览器在获取计算样式时的兼容处理方案,帮助开发者准确获取CSS属性值。

文章目录

1、Style对象

style对象代表一个单独的样式声明,可以通过文档元素直接访问该对象。它主要用于获取内联样式,即HTML标签中style属性所定义的具体值。

示例:


<style type="text/css">#div{color:gray;}</div>//内部样式
<div id="div" style="color:red;"></div>//内联样式
document.getElementById('id').style.color;//值为red

2、currentStyle对象

该对象用于返回作用于元素的所有样式声明(涵盖内部样式、外部样式表及内联样式)经过CSS层叠规则计算后的最终结果。目前,只有IE和Opera浏览器原生支持通过currentStyle获取元素计算后的样式。对于其他浏览器,可以使用getComputedStyle()方法来获取当前元素应用的CSS属性值。


var div=window.getComputeStyle("div",null).color;//第一个参数为目标元素,第二个参数为伪类(必需,没有伪类设为null)

与style对象的主要区别如下:

getComputedStyle()返回的对象是只读的,仅支持读取属性值,不支持直接设置;而style对象既支持读取也支持修改属性。

对于未定义任何样式的元素,getComputedStyle()返回的对象中length属性有具体数值,而style对象中的length属性值为0。

不同浏览器对currentStyle对象的支持程度存在差异,因此在实际开发中需要进行兼容性处理。


var div=document.getElementById('div');

var colorStr=null;

if(div.currentStyle){//兼容IE

       colorStr=div.currentStyle;

}else{
colorStr=window.getComputedStyle(div,null);

}

var col=colorStr.color;//得到div的color属性值

3、示例(可拖动的层)

currentstyle对象

1、Style对象

1、Style对象

style对象

1、Style对象

1、Style对象

至此,关于JavaScript中style对象与CurrentStyle对象的案例详解已介绍完毕。如需了解更多相关js style对象与CurrentStyle对象的内容,欢迎搜索本站历史文章或继续浏览后续相关文章,感谢大家的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章