javascript之Dom访问CSS样式表类
2014-08-15来源:易贤网

页面中用了style特性的元素CSS样式,并没有通过直接写在对象里面的style定义,这样的CSS怎么通过javascript的dom访问呢。也就是说怎么通过javascript Dom来访问CSS类中的属性。

首先,获得定义样式表CSS的引用。使用的是document.styleSheets集合实现的。Dom指定样式表对象有以下特性

1.disabled-表示样式表是否被禁用

2.href-用于外部引用文件样式表的url,对于style元素的话,该值应该是null,不过在Mozilla返回的是当前页面的url值

3.media-可以使用该样式表的媒体类型,由html的media特性指定,IE在实现这个属性上有错误,返回的是与media特性包含相同内容的字符串。、

4.ownerNode-指定样式的DOm节点。IE不支持该属性

5.parentStyleSheet-如果样式表是通过CSS的@import语句来加载的,哪么这个特性将指出,出现@import语句的样式表。

6.title-通过HTML title特性非配给样式表的标题,可以用在<link/><style/>上。

7.type-样式的mime类型,对于CSS通常是text/css.

应为浏览器不同,访问样式表中单独的规则也是有技巧的.dom为每一个样式表指定了一个cssRules的集合,它包含所有的定义在样式表中的CSS的规则。火狐Mozilla和苹果的Safari正确的实现了该标准,不过IE是通过rules.因此要检查一下,该使用那个。

举例:

var obj_css = document.styleSheets[0].cssRules ||document.styleSHeets[0].rules;

页面举例:

<html>

<head>

<title>网站制作学习网-http://www.forasp.cn</title>

<style type="text/css">

.foraspcn {background-color:red;height:28px;width:200px;margin:1px;}

</style>

<script language="javascript">

function show_bgcolor()

{

var obj_css = document.styleSheets[0].cssRules ||document.styleSheets[0].rules;//返回的是一个集合对象

alert(obj_css[0].style.backgroundColor);//输出red

}

</script>

</head>

<body>

<div class="foraspcn"><a href="javascript:void(0);" onclick="show_bgcolor();">点击查看颜色属性</a></div>

</body>

</html>

更多信息请查看IT技术专栏

2025公考·省考培训课程试听预约报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息