JS获得CSS中声明的特定样式中的某属性值

2008-06-26 10:33:16 北京时间

用途:用于获得在CSS文件中声明的特定样式中的某属性值。如:

<link id="system_style" type="text/css" href="global.css" rel="stylesheet"/>
<div id="myArticle" style="left:10px;top:35px;" >

在global.css中声明了

#myArticle{width:400px; height:300px;}

这样的情况下,直接通过JS进行getElementById(’myArticle’).style.width是无法获取400px的值的,因为这个数值定义在CSS里,所以,必须要用其他方法,我写了以下函数:

/**
     * function for get the style value in special css file
     * @param int css_file_id
     * @param String labname
     * @param String param
     */
    function getStyleValue(css_file_id,labname,param)
    {
        var tar;
        var rss;
        var style;
        var value;
       
        tar = document.styleSheets[css_file_id];
 
        rss = tar.cssRules?tar.cssRules:tar.rules
       
        for(i=0;i<rss.length;i++)
        {
            style = rss[i];
            if(style.selectorText.toLowerCase() == labname.toLowerCase())
            {
                value = style.style[param];
            }
        }
        return value;
    }

现在只要通过

getStyleValue(0,'#myArticle','width')

就可以获得啦:)




发表评论

请文明参与讨论,禁止漫骂攻击。本站保留不刊登无关和不雅评论的权力。


用户名: 密码: 匿名

相关新闻
//过滤数字 input type=text onkeypress=return event.keyCode=4
要解决ajax跨域问题,网上给出的方法有二: 1是构建服务器端的代理
在网上Google了很多次,能找到用rails制作rss,但是总是找不到完整
1.关于prototype:这里prototype是javascript的一个特性,不是那
昨天公司要写一个多组的投票系统,要求前台在未把内容提交给服务

广告
© 2008 The Czz5 Company. All Rights Reserved. 关于我们 - 联系我们 - 广告业务 - 网站地图 - 版权声明 - 友情连接 - 网站投稿 - 致信编辑