XML/HTML代码
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/htmlcharset=utf-8″ />
<title>JS获取CSS属性值</title>
<style type=”text/css”>
<!–
.ss{color:#cdcdcd}
–>
</style>
</head>
<body>
<div id=”css88″ class=”ss” style=”width:200pxheight:200pxbackground:#333333″>JS获取CSS属性值</div>
<script type=”text/javascript”>
alert(document.getElementById(“css88”).style.width)//200px
alert(document.getElementById(“css88”).style.color)//空白
</script>
</body>
</html>
上面这个例子对id为”css88″的div设置了2种烦事的样式,包括style和外部样式class。
从alert出来的信息可以看到,document.getElementById(“css88”).style方法获取不到class为ss的属性和值。
IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法。
另外一个方法是:
XML/HTML代码
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/htmlcharset=utf-8″ />
<title>S获取CSS属性值</title>
<style type=”text/css”>
<!–
.ss{background:bluecolor:#cdcdcdwidth:200px}
–>
</style>
</head>
<body>
<p id=”qq” class=”ss” >sdf</p>
<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>
</body>
</html>
当然,如果您是引用外部的css文件同样适用。
另:可以将上面的方法简化为
JavaScript代码
function getDefaultStyle(obj,attribute){ // 返回最终样式函数,兼容IE和DOM,设置参数:元素对象、样式特性
return obj.currentStyle?obj.currentStyle[attribute]:document.defaultView.getComputedStyle(obj,false)[attribute]
}
在理解提问君的需求的前提下,并充分借鉴一楼君的成果(如果问题得到解决,请采用他的答案!),修改如下:
<html><head>
<title>JS获取CSS属性值</title>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<link href="test.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
onload = function (){
var i = document.getElementById("css88").style.width || css88.offsetWidth || css88.clientWidth
alert(i)
}
</script>
</head>
<body >
<div id="css88" class="w" >JS获取CSS属性值</div>
</body>
</html>
.header .banner img
这个是css 选择器,此处是class="header" 元素下 class="banner" 的子元素 下的 <img>元素
选择器 E F 表示选择所有被E元素包含的F元素。
参考:http://www.css88.com/book/css/selectors/index.htm
width:500px /* 宽度为500像素,px表示像素单位 */height:60px /* 高度为60像素 */
display:block /* 展现方式为块元素 */