2010-08-21 4 views
7

CSS: .divIm { border:1px solid red; } et la ligne de code var borderColor = $(this).css("border-color") renvoie "". Qu'est-ce qui ne va pas? Ou serait-il correct d'essayer d'obtenir un style calculé si j'utilise jQuery?jQuery.css() ne renvoient pas border-color qui est rouge

Mise à jour: Vous trouverez ci-dessous un code qui ne veut pas fonctionner comme prévu.

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

Répondre

10

Étant donné que chacune des quatre bordures peut avoir une couleur différente, .css('border-color') ne peut pas déterminer la couleur à renvoyer (même si elles sont toutes les mêmes).

Dans la plupart des cas, la couleur des frontières est la même, de sorte que vous pouvez le faire comme ceci:

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

Ainsi, vous obtenez la couleur de la bordure gauche et qui devrait être suffisant pour votre Besoins.

+0

Merci pour le conseil, ça aide! – despero

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

Vous devez montrer plus que cela. Mais si c'est tout ce que vous avez alors le problème est que this n'est pas défini.

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

Sera ce dont vous avez besoin.

+0

$ ("div.divIm") de mouseover (function() {var borderColor = $ ("divIm. ") BAE ("-couleur de la frontière");. débogueur, }). Je viens d'essayer comme vous l'avez suggéré mais le problème n'a pas été résolu. $ (this) renvoie un objet correct. Peut être qu'il y a une autre façon ... – despero

+0

Dans ce cas, vous pouvez l'utiliser dans la fonction. essayez d'utiliser borderColor au lieu de border-color comme suggéré par Gert – Galen

+0

Cela n'a pas aidé. Dave a donné une bonne réponse. – despero

2

Vous pouvez obtenir le style calculé avec curStyles jQuery Plugin incluant plusieurs styles calculés.

+1

Merci pour votre réponse; utiliser le plugin semble être trop lourd pour le problème. Même si vous avez peut-être raison. – despero

+0

jQuery renvoie le style calculé si la propriété de style demandée n'est pas définie sur l'élément. Il utilise * $. CurCSS (elem, style, force) *, qui est une méthode non documentée. –

Questions connexes