2009-11-26 10 views
14

L'utilizzo di $("#id").css("background-color") per recuperare il colore di sfondo di un elemento (o la maggior parte degli altri attributi CSS) funziona correttamente, ma $("#id").css("border-color") restituisce una stringa vuota.Come posso ottenere il valore del colore del bordo di un elemento utilizzando jQuery?

Come posso ottenere il valore del colore del bordo utilizzato sull'elemento?

+1

Una spiegazione è qui: http://www.quirksmode.org/dom/getstyles.html Nota funziona in IE. –

+1

Provato il copione che danno lì - ha ottenuto lo stesso risultato. Quindi apparentemente non è un problema di JQuery, ma un problema di Javascript ... – JussiR

+0

JussiR: giusto che tu sia! jQuery non può risolvere tutto ... –

risposta

31

Il CSS ha proprietà "short-hand" che consentono di inviare più proprietà contemporaneamente. Come font, border, , ecc. Bene, la proprietà CSS border-color imposta effettivamente le 4 proprietà , border-right-color, border-bottom-color e border-left-color.

Se si desidera ottenere il colore del bordo, è necessario specificare quale lato. Per esempio, per ottenere il valore corrente di border-left-color, faresti:

$("#id").css("border-left-color") 

Questo dovrebbe funzionare bene in quanto sembra che ci si aspetta che ogni lato ha lo stesso colore.

+1

Suoni logici, ma restituisce anche una stringa vuota (null con chrome). – JussiR

+1

Scusa, ho sbagliato. È border-left-color, border-top-color, border-right-color, border-bottom color. Aggiornerò la mia risposta – William

+0

Ho appena realizzato che Gausie ha già pubblicato la soluzione qui sotto. – William

8

William era vicino ... La proprietà che stai cercando è border-left-color, quindi in pieno è necessario

$('#ID').css("border-left-color") 

e impostarlo

$('#ID').css("border-left-color","blue"); 

per esempio.

Buona fortuna, e mi ha colpito nei commenti.

+0

Ottimo! Penso che abbiamo la risposta, grazie per sempre coinvolto! – JussiR

+0

Grazie per la corretta Gausie, devo esserne fuori oggi. – William

+0

Nessun problema. È davvero la tua soluzione: potresti contrassegnare il suo JussiR accettato? – Gausie

Problemi correlati