当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 准确获取指定元素CSS属性值

CSS样式表
event.currentTarget和document.activeElement用法
指定网页doctype解决CSS Hacking
揭开迷惑 理解CSS的浮动Float
css网页布局中注意的几个问题
H1的位置对SEO的影响
网页制作与CSS的UTF-8和GB2312编码问题
CSS制作政府公文的代码
不要使用的HTML标签(WEB标准网页布局)
CSS网页设计时关于字体大小的设计
css教程:网页字体及字体大小的设计
描述性列表UL和DL的表现形式
CSS Alpha透明相关知识学习
关于W3C CSS标准的一些经验
CSS3属性选择符介绍
CSS网页布局的好处与坏处
div css制作网页实战笔记心得
Opera下cloneNode的bug
CSS:清除浮动的最优方法
由浅入深实践学习 Web 标准
另一个角度谈谈DIV CSS

CSS样式表 中的 准确获取指定元素CSS属性值


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 83 ::
收藏到网摘: n/a

  如何实现javascript精确获取元素css属性值?当处理 DOM 元素的 CSS 属性时,我们经常会遇到一个问题:明明页面上已经定义了 CSS 属性值,但在获取的时候却为空,这是因为任何样式表文件或内联 CSS 预设的样式信息并不能可靠地反映到 style 属性上,本文向你介绍准确获取指定元素 CSS 属性值的方法。 

  Javascript:

<script type="text/javascript">
function getStyle( elem, name )
{
    //如果该属性存在于style[]中,则它最近被设置过(且就是当前的)
    if (elem.style[name])
    {
        return elem.style[name];
    }
    //否则,尝试IE的方式
    else if (elem.currentStyle)
    {
        return elem.currentStyle[name];
    }
    //或者W3C的方法,如果存在的话
    else if (document.defaultView && document.defaultView.getComputedStyle)
    {
        //它使用传统的"text-Align"风格的规则书写方式,而不是"textAlign"
        name = name.replace(/([A-Z])/g,"-$1");
        name = name.toLowerCase();
        //获取style对象并取得属性的值(如果存在的话)
        var s = document.defaultView.getComputedStyle(elem,"");
        return s && s.getPropertyValue(name);
    //否则,就是在使用其它的浏览器
    }
    else
    {
        return null;
    }
}
</script>