2010-07-12 18 views
23

Ich habe die Folge HTMLjQuery Get Elements Color?

<div>This is some <span>special <a href="#">text</a></span> and it's super</div> 

Und CSS

span {color:#333;} 
a {color:#777;} 
a:hover {color:#AAA;} 

Ich frage mich, was ich eine Funktion einrichten kann, dass ich die Farbe der <ein> und <ein> extrahieren kann: Hover-Elemente?

Dank

Antwort

39

Verwenden Sie die Methode .css() für das Element, das Sie abrufen möchten.

In Ihrem Beispiel:

var theColorIs = $('a').css("color"); 

, die die Farbe in RGB zurück.

+0

oh vielen Dank. krank überprüfen Sie es – Tom

+0

nps. nehmen Sie mein Beispiel nicht wirklich wörtlich - mein Beispiel würde tatsächlich eine Sammlung von 'a' Elementen zurückgeben. Ändern Sie es einfach zu Ihrer Verwendung. – RPM1984

+0

hey frage mich nur - wie würde ich das für mehrere Elemente tun? datevar theColorIs = $ ('a'). css ("color", "font-size"); wie das scheint nicht zu funktionieren? – Tom

1

Um die Farbe CSS-Attribut aller Elemente erhalten Sie CSS die JQuery verwenden können() Funktion:

$('a').each(function(index) { 
       alert($(this).css('color')); 
      });​​​​ 

Dies wird das Sie alle Ankerelemente auf der Seite und sagen iterieren CSS-Farbattribut davon.

+0

hey nur wundernd - wie würde ich das für mehrere Elemente tun? datevar theColorIs = $ ('a'). css ("color", "font-size"); wie das scheint nicht zu funktionieren? – Tom

+1

Wenn Sie ein zweites Argument an css() übergeben, wird das angegebene css-Attribut gesetzt. Um beispielsweise die Farbe in Grün zu ändern, könnten Sie sagen: $ ('a'). Css ('color', 'green') Wenn Sie auf mehrere CSS-Eigenschaften eines Elements zugreifen möchten, haben Sie um den Aufruf von css() mehrfach zu tätigen: $ ('a'). css ('color); $ ('a') .css ('font-size'); Für weitere Informationen, lesen Sie die Dokumentation in der anderen Antwort gepostet :) – Josiah