+ -
当前位置:首页 → 问答吧 → 关于borderColor和getComputedStyle

关于borderColor和getComputedStyle

时间:2011-10-21

来源:互联网

CSS及html:
HTML code

<style type="text/css" media="screen">
      .d1{ overflow:hidden; color:rgb(70,200,0);border:1px solid #0f0;}
  </style>
<div id="d1" class="d1" >
    asdfkljsdf
</div>


当要得到在class中定义的CSS样式时,就不能用d1.style.了。这个我知道。但我用getComputedStyle也得不到d1的borderColor值。代码如下:
JScript code

function getCss(o,pro){
            if(o.style[pro]){
                return o.style[pro];
            }else if (o.currentStyle){
                return o.currentStyle[pro];
            }else {
                return getComputedStyle(o,null)[pro];
            }
        }
alert(getCss(d1,'borderColor'))


弹出一个空值。。但我把borderColor换成borderTopColor就能取到值

这是为什么呢?
求高手解答

作者: wslx520   发布时间: 2011-10-21

没人解答,手工置顶

作者: wslx520   发布时间: 2011-10-21

alert(getCss(document.getElementById('d1'),'color'))


作者: Sandy945   发布时间: 2011-10-21

HTML code

<!doctype html>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>
        <style>
            .c{ border:1px solid red; }
        </style>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
    </head>
    <body>
        <div class="c">1-1</div>
        <div>1-2</div>
        <div>1-3</div>
        <script>
            alert( $('.c').css('borderColor') )
            alert( $('.c').css('borderTopColor') )
        </script>
    </body>
</html>




老楼,上面是用jquery做的测试,
borderColor 没值
borderTopColor 有值

我想是这样的 获取borderColor的时候,标准浏览器(ie下测试通过,能够获取值)怎么知道你是获取top bottom left 还是 right,
所以得指定是哪一边。

作者: calmcrime   发布时间: 2011-10-21