2010-01-27 2 views
32

Dies sollte ein einfacher sein, aber ich kann nirgendwo ein gutes Beispiel finden. Ich versuche, ein bestimmtes Element auf meiner Seite auszuwählen, das eine Klasse von 'statuslight' und ein Titelattribut von einer von drei Optionen hat. Die Option (hängt davon ab) wird in einer Variablen namens 'currentStatus' gespeichert. Ich habe einige Beispiele gesehen, und ich vermute, dass dies der richtige Weg ist, aber ich muss sicher wissen:jQuery Selectors: Wählen Sie ein Element mit spezifischer Klasse und 'title' Attribut

$(".statuslight[title]='" + currentStatus + "'"); 

Antwort

67

Ganz in der Nähe:

$(".statuslight[title='" + currentStatus + "']"); 

Gesetzt Ihre currentStatus ein Array ist, Sie könnten alle statuslight Elemente mit einem Titel erhalten, die mit einem der currentStatus Werte enthält:

$(".statuslight[title='" + currentStatus[0] + "'], .statuslight[title='" + currentStatus[1] + "'], .statuslight[title='" + currentStatus[2] + "']"); 

Alternativ, wenn Ihr Titel mehrere Status hat (title="status1 status2 status3") und currentStatus ist nur ein Element, das Sie diesen Selektor verwenden würde:

$(".statuslight[title~='" + currentStatus + "']"); 
+0

Dank Joel. 'currentStatus' ist kein Array, nur eine einfache Zeichenkette. Ich glaube, dass die oberste Option funktionieren sollte. Vielen Dank. –

+2

+1 benötigt, um eine verschlüsselte Quellanwendung anzupassen, die keine Klassen oder IDs auf meinen Zielelementen hatte. Ich konnte $ ("a [title = 'test']") .attr ("href", "hxxp: //mycustomurl.com") verwenden. –