页面中的元素定义的style可以设置style属性,也完全可以通过设置class来进行css样式定义,那么我们想读取其中的style怎么办呢?
<
style
type
="text/css"
>
...

.cla{...}{
color:red;
}
</
style
>

<
script
type
="text/javascript"
>
...

function getStyle(styleName)...{
var obj = document.getElementById("test");
if (obj.currentStyle)
var y = obj.currentStyle[styleName];
else if (window.getComputedStyle)
var y = document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName);
alert(y);
}
</
script
>
</
head
>

<
body
>
<
div
id
="test"
class
="cla"
>
test
</
div
>
<
button
onclick
="getStyle('color');"
>
check
</
button
>
</
body
>
按照上面的这种方法就可以得到style了,不过有些样式在不同浏览器中得到的结果不一样,上面的color在ie和Opera中得到的是red,而在firefox、netscape、Safari中得到就是“rgb(255,0,0)”
<
style
type
="text/css"
>
...

.cla{...}{
color:red;
}
</
style
>

<
script
type
="text/javascript"
>
...

function getStyle(styleName)...{
var obj = document.getElementById("test");
if (obj.currentStyle)
var y = obj.currentStyle[styleName];
else if (window.getComputedStyle)
var y = document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName);
alert(y);
}
</
script
>
</
head
>

<
body
>
<
div
id
="test"
class
="cla"
>
test
</
div
>
<
button
onclick
="getStyle('color');"
>
check
</
button
>
</
body
>
本文介绍了一种通过JavaScript获取页面中指定元素样式的通用方法,并演示了如何针对不同浏览器使用相应API来实现这一目的。该方法适用于获取内联样式及通过CSS类定义的样式。

486

被折叠的 条评论
为什么被折叠?



