jQuery.css()不返回设置为红色的border-color

时间:2010-08-21 20:12:12

标签: jquery css

CSS:.divIm { border:1px solid red; },代码行var borderColor = $(this).css("border-color")返回""。怎么了?或者,如果我使用jQuery,尝试获取计算样式是否正确?

更新 下面是一个不希望按预期工作的代码。

$("div.divIm").mouseover(function() {
  var borderColor = $(this).css("border-color");
  debugger;
});

3 个答案:

答案 0 :(得分:10)

由于四个边框中的每一个都可以有不同的颜色,.css('border-color')无法解决,返回哪种颜色(即使它们都是相同的)。

在大多数情况下,所有边框的颜色都是相同的,所以你可以这样做:

$('div.divIm').mouseover(function() {
    var borderColor = $(this).css('border-left-color');
    debugger;
});

所以你得到左边框的颜色,这应该足以满足你的需要。

答案 1 :(得分:2)

您可以使用包含多个计算样式的curStyles jQuery Plugin计算样式。

答案 2 :(得分:-1)

var borderColor = $(this).css("border-color")

您需要展示的不仅仅是这个。但如果这就是你所拥有的那么问题就是没有定义this

var borderColor = $('.divIm').css("border-color");

将是您所需要的。