jQuery.css () не возвращает border-color с красным - PullRequest
7 голосов
/ 22 августа 2010

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 ]

10 голосов
/ 22 августа 2010

Поскольку каждая из четырех границ может иметь свой цвет, .css('border-color') не может определить, какой цвет вернуть (даже если они все одинаковые).

В большинстве случаев цвет всех границ одинаков, поэтому вы можете сделать это следующим образом:

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

Таким образом, вы получите цвет левой границы, и этого должно быть достаточно для ваших нужд.

2 голосов
/ 22 августа 2010

Вы можете получить вычисленный стиль с помощью curStyles jQuery Plugin , включая несколько вычисленных стилей.

0 голосов
/ 22 августа 2010
var borderColor = $(this).css("border-color")

Вы должны показать больше, чем это. Но если это все, что у вас есть, то проблема в том, что this не определено.

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

Будет то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...