javascript中获取页面所有选择符的css规则实现代码
代码如下 | |
<script type="text/javascript"> if(!styleSheetLen) return; // 样式规则名称,IE 和 FireFox 不同 // 初始结果 var totalRuleLen = 0; var totalSelectorLen = 0; var totalProperty = 0; for(var i=0; i<styleSheetLen; i++) // 每个样式表的规则数 totalRuleLen += ruleLen; for(var j=0; j<ruleLen; j++) var selectorLen = selectors.length; totalSelectorLen += selectorLen; for(var s=0; s<selectorLen; s++) // 初始化当前选择符 // 获取当前样式 for (property in styleSet) totalProperty += 1; // 统计数据 return result; |
用法示例:
代码如下 | |
<link rel="stylesheet" type="text/css" href="test.css" /> <style type="text/css"> <script language="JavaScript" type="text/javascript"> // 获取规则 // 获取指定选择符下面的 CSS 属性值 document.write("<strong>统计数据</strong> <br />"); // 传入选择符为小写,属性为脚本模式 </script> |
IE 和 FireFox 将自动添加一些规则,比如你只定义 border:1px solid #eee; 它们会自动添加 borderTop, borderBottom, borderLeft, borderRight 的值,在返回值上两个浏览器的处理方法也不同,比如颜色,FireFox 会返回 RGB 格式的颜色值,而 IE 则直接返回规则中的属性值,但这些并不影响应用