关于borderColor和getComputedStyle

居然默默磨墨 2011-10-21 03:13:22
CSS及html:

<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值。代码如下:

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就能取到值

这是为什么呢?
求高手解答
...全文
113 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
001007009 2011-10-21
  • 打赏
  • 举报
回复

<!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,
所以得指定是哪一边。
阿非 2011-10-21
  • 打赏
  • 举报
回复
alert(getCss(document.getElementById('d1'),'color'))


居然默默磨墨 2011-10-21
  • 打赏
  • 举报
回复
没人解答,手工置顶

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧