码迷,mamicode.com
首页 > Web开发 > 详细

获取css样式,style、getComputedStyle及currentStyle的区别

时间:2017-04-09 12:30:18      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:ref   属性   asc   pre   win   style   font   load   alert   

样式表有三种:

内嵌样式:<div id="box" style="color:red">box</div>,style写在html中的为内嵌样式;

内联样式:

<style>
#box{
    font-size: 25px;
    background-color: #ccc;
}
</style>

在html页中直接写入<style></style>的为内联样式;

外部样式:<link rel="stylesheet" href="css/style.css" />这种为外部样式。

现在来测试一个小例子:

<style>
	#box{
	   font-size: 25px;
	   background-color: #ccc;
	}
</style>
<div id="box" style="color:red">box</div>

js代码:

window.onload=function(){
        var box=document.getElementById(‘box‘);
        alert(box.style.color);  //弹出red   element.style[attr]对内嵌样式有效
        alert(box.style.fontSize);   //弹出空   从这里可以看出element.style[attr]只对内联样式无效
        alert(isStyle(box,‘color‘));   //使用isStyle方法,弹出rgb(255,0,0)
        alert(isStyle(box,‘fontSize‘));  //使用isStyle方法,弹出25px
}

/*通过元素节点和属性获取属性值*/
function isStyle(ele,attr){
        if(window.getComputedStyle!=‘undefined‘){   //兼容firefox
        	return window.getComputedStyle(ele,null)[attr];
        }else if(ele.currentStyle!=‘undefined‘){    //兼容IE
                return ele.currentStyle[attr];
        }	
}

要想获取内部样式以及外部样式需要通过getComputedStyle和currentStyle来获取,当然也可以获取内嵌样式。

获取css样式,style、getComputedStyle及currentStyle的区别

标签:ref   属性   asc   pre   win   style   font   load   alert   

原文地址:http://www.cnblogs.com/heyujun-/p/6684195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!