Wie man Klassennamen mit jquery
Angenommen ich habe ein element wie diesem:
<div id="dv" class="red green blue">Something Here !!</div>
Habe ich dieses:
alert($('#dv').attr('class'));
Aber es gibt mir alle drei zur gleichen Zeit, die ich brauche einzeln wohl gespeichert in einem array.
Wie bekomme ich jede dieser Klasse von Namen mit jquery? Sollte einfach sein, Recht?
InformationsquelleAutor | 2010-05-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie brauchen nur zu wissen, ob ein element besitzt eine Klasse, die Sie möglicherweise verwenden möchten
oder
was ist eine abgeleitete Funktion. Halten Sie die Aufmerksamkeit auf die unterschiedliche Schreibweise
".className" und nur "className"
InformationsquelleAutor jAndy
Gibt es ein paar Möglichkeiten, je nach Ihrem Ziel (tun Sie eigentlich muss ein array sein, könnte eine schnellere Methode!).
Bekommen ein array von Klassen verwenden
.attr()
und.split()
:Um die wörtliche Zeichenfolge verwenden
.attr()
:Prüfen, ob eine Klasse verwenden
.hasClass()
:hasClass
, das ist eher das, was der OP braucht, wenn er versucht zu splitten, das class-Attribut in ein array.E Kopf - Bedenkt man die ID ist "dv", und die Klassen sind "rot grün blau" ich Frage mich, ob das class-Attribut wird verwendet als Speicher für die RGB-Werte?? So oder so, +1 seit Nick traf seine normalen standard durch Abdeckung der Basen.
InformationsquelleAutor Nick Craver
Ist die Klasse ein Attribut, so dass Sie tun können
var classname=$("#dv").attr("class")
dann kann man aufteilen in ein array mit
var array=classname.split(" ");
Aktualisiert die Antwort
InformationsquelleAutor mck89
verwenden Sie diese
InformationsquelleAutor Starx
mit
attr()
können Sie festlegen oder abrufen, das Attribut, das Sie wollen. Wenn Sie mehr als eine Klasse können Sie split die Zeichenfolge, attr gibt Sie zurück mitsplit("separator")
. Split gibt Ihnen wieder ein array.$.each(array, function(i, data){})
können Sie etwas tun für jeden Wert in einem array. Wenn man diesen zusammen das ist das Ergebnis:Und hier eine demo mit dem code:
http://jsfiddle.net/Cq5JD/
InformationsquelleAutor meo