JS获取CSS属性值
obj.style方法
这个方法只能JS只能获取写在html标签中的写在style属性中的值(style=”…”)
看下代码
如果元素的样式不直接写在元素上,而写在以class为标识的样式表里,就获取不到。
看下代码
那么怎样才能获取到class为ss的属性和值呢?那么这么样才能获取到class为ss的属性和值呢?
IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法。
网上一个比较好的方法是:
当然,如果您是引用外部的css文件同样适用。
另:可以将上面的方法简化为
JavaScript代码
obj.style方法
这个方法只能JS只能获取写在html标签中的写在style属性中的值(style=”…”)
看下代码
<div id="test" style="color:#ff0000">css直接卸载元素的style里</div>
document.getElementById("test).style;//这时可以获取到的
如果元素的样式不直接写在元素上,而写在以class为标识的样式表里,就获取不到。
看下代码
<style>
#test{
color:#ff0000;
}
</style>
<div id="test">css写到了样式表里</div>
document.getElementById("test).style;//此时就获取不到了
那么怎样才能获取到class为ss的属性和值呢?那么这么样才能获取到class为ss的属性和值呢?
IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法。
网上一个比较好的方法是:
<script type=”text/javascript”>
function GetCurrentStyle (obj, prop) {
if (obj.currentStyle) {
return obj.currentStyle[prop];
}else if (window.getComputedStyle) {、
propprop = prop.replace (/([A-Z])/g, “-$1″);
propprop = prop.toLowerCase ();
return document.defaultView.getComputedStyle (obj,null)[prop];
}
return null;
}
var dd=document.getElementById(“qq”);
alert(GetCurrentStyle(dd,”width”));
</script>
当然,如果您是引用外部的css文件同样适用。
另:可以将上面的方法简化为
JavaScript代码
function getDefaultStyle(obj,attribute){
// 返回最终样式函数,兼容IE和DOM,设置参数:元素对象、样式特性
return obj.currentStyle?obj.currentStyle[attribute]:document.defaultView.getComputedStyle(obj,false)[attribute];
}