获得样式属性和外联样式

简介:
function  getStyleProperty(obj, property){
    
var  ele  =  document.getElementById(obj),
        val 
=   '' ;
    
// console.log(ele.ownerDocument.firstChild.innerHTML);
     if (ele.currentStyle){
        val 
=  ele.currentStyle[property];
    } 
else   if (ele.ownerDocument.defaultView.getComputedStyle) {  // 找到节点所属的document再找到其所属的window
        val  =  ele.ownerDocument.defaultView.getComputedStyle(ele,  null ).getPropertyValue(property);
    } 
    alert(val 
||   ' 没有此属性值 ' );
    
// return val || '没有此属性值';
}
// console.log(document.defaultView);
//
alert(getStyle('wrap', 'height'));
function  getFullStyle(){
    
var  ss  =  document.styleSheets[ 0 ];  // 获得该文档的样式表,数组元素类型是CSSStyleSheet
     var  rules  =  ss.cssRules  ?  ss.cssRules : ss.rules;  // FF是cssRules,IE是rules。rules代表样式表中的规则,类型是CSSRule
     for ( var  i = 0 ; i < rules.length; i ++ ){
        
var  rule  =  rules[i];
        alert(rule.selectorText 
+   ' { '   +  rule.style.cssText.toLowerCase()  +   ' } ' );  // selectorText css选择器的名称
         // return rule.selectorText + ':{' + rule.style.cssText.toLowerCase() + '}'; //selectorText css选择器的名称
    }
}
// getFullStyle();
复制代码
<!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" xml:lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<style type="text/css">
#test-box{margin-bottom:10px;}
.wrap{width:200px;border:20px solid #ccc;}
.wrap2{width:180px;height:180px;border:10px solid #efefef;}
</style>
</head>
<body>
<div id="test-box">
<div class="wrap" id="wrap">
<div class="wrap2">this is test wrap</div>
</div>
</div>
<input type="button" value="获取 width 的属性值" onclick="getStyleProperty('wrap', 'width')" />
<input type="button" value="获取外联全部样式值" onclick="getFullStyle()" />
<xmp>
<style type="text/css">
#test-box{margin-bottom:10px;}
.wrap{width:200px;height:200px;border:20px solid #ccc;}
.wrap2{width:180px;height:180px;border:10px solid #efefef;}
</style>
<div id="box">
<div class="wrap" id="wrap">
<div class="wrap2">this is test wrap</div>
</div>
</div>
</xmp>
<script type="text/javascript">
function getStyleProperty(obj, property){
var ele = document.getElementById(obj),
val = '';
//console.log(ele.ownerDocument.firstChild.innerHTML);
if(ele.currentStyle){
val = ele.currentStyle[property];
} else if(ele.ownerDocument.defaultView.getComputedStyle) { //找到节点所属的document再找到其所属的window
val = ele.ownerDocument.defaultView.getComputedStyle(ele, null).getPropertyValue(property);
}
alert(val || '没有此属性值');
//return val || '没有此属性值';
}
//console.log(document.defaultView);
//alert(getStyle('wrap', 'height'));
function getFullStyle(){
var ss = document.styleSheets[0]; //获得该文档的样式表,数组元素类型是CSSStyleSheet
var rules = ss.cssRules ? ss.cssRules : ss.rules; //FF是cssRules,IE是rules。rules代表样式表中的规则,类型是CSSRule
for(var i=0; i<rules.length; i++){
var rule = rules[i];
alert(rule.selectorText + '{' + rule.style.cssText.toLowerCase() + '}'); //selectorText css选择器的名称
//return rule.selectorText + ':{' + rule.style.cssText.toLowerCase() + '}'; //selectorText css选择器的名称
}
}
//getFullStyle();
</script>
</body>
</html>





本文转自豪情博客园博客,原文链接:http://www.cnblogs.com/jikey/archive/2011/06/15/2082171.html,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
缓存 前端开发
样式
样式
66 3
|
4月前
|
前端开发
行内样式和内部样式
【8月更文挑战第24天】行内样式和内部样式。
33 2
|
7月前
|
前端开发 JavaScript 开发者
html标签的样式
【4月更文挑战第19天】html标签的样式
82 2
CSS样式设置颜色
做前端页面必备知识
|
Web App开发 前端开发 搜索推荐
利用Css3样式属性Cursor来更换自定义个性化鼠标指针(光标)
现而今,我们纵向的回顾整个大前端的历史,不难发现,人们对前端的审美要求越来越高,越来越严苛,与此同时,人们对追求美的体验是也极致的,从理性到感性,从平面到几何,从现实到虚拟,所以从某种角度来说,作为前端工程师,他们所追求的东西往往和人类软件核心理念南辕北辙,因为人类的终极追求是个性,绝不是共性,换句话说,大家都一样就不好玩儿了。
利用Css3样式属性Cursor来更换自定义个性化鼠标指针(光标)
|
前端开发
常用样式
常用样式
123 0
|
前端开发 JavaScript
CSS 关于多级菜单的内边距的处理方式
CSS 关于多级菜单的内边距的处理方式
CSS 关于多级菜单的内边距的处理方式
|
Android开发
第12章 样式(六)
设备样式 Xamarin.Forms包含六种内置动态样式。 这些被称为设备样式,它们是名为Styles的嵌套类的成员。 这个Styles类定义了12个静态和只读字段,有助于在代码中引用这六个样式: Style样式的BodyStyle。
1302 0
|
JavaScript Android开发 iOS开发
|
JavaScript Android开发