Ich bin nach der Dokumentation über die Verwendung von Platzhaltern oder regulären Ausdrücken (nicht sicher über die genaue Terminologie) mit einem jQuery-Selektor.
Ich habe selbst danach gesucht, konnte jedoch keine Informationen zur Syntax und deren Verwendung finden. Weiß jemand, wo sich die Dokumentation für die Syntax befindet?
BEARBEITEN: Mit den Attributfiltern können Sie basierend auf Mustern eines Attributwerts auswählen.
javascript
jquery
regex
jquery-selectors
Joel Cunningham
quelle
quelle
matchParams.join('')
mitmatchParams.join(',')
), und jedes Muster , dass Streichhölzer'undefined'
oder'null'
passt aufundefined
undnull
sind. Dieser zweite Fehler kann behoben werden, indem der getestete Wert!== undefined
und der!== null
erste überprüft werden . In jedem Fall ist die Übergabe einer Funktion.filter()
einfacher und fühlt sich für mich sauberer / lesbarer an.Mit dieser
filter
Funktion können Sie kompliziertere Regex-Übereinstimmungen anwenden.Hier ist ein Beispiel, das nur den ersten drei Divs entspricht:
quelle
Diese können hilfreich sein.
Wenn Sie von Contains finden, wird es so sein
Wenn Sie nach Starts With suchen, wird es so sein
Wenn Sie nach Ends With suchen, wird es so sein
Wenn Sie Elemente auswählen möchten, deren ID keine bestimmte Zeichenfolge ist
Wenn Sie Elemente auswählen möchten, deren Name ein bestimmtes Wort enthält, das durch Leerzeichen begrenzt ist
Wenn Sie Elemente auswählen möchten, deren ID einer bestimmten Zeichenfolge entspricht oder mit dieser Zeichenfolge gefolgt von einem Bindestrich beginnt
quelle
id
s Bezeichner sind und kein Leerzeichen enthalten können , sollte das~=
Beispiel in etwas anderes geändert werden , z. B.class
eine durch Leerzeichen getrennte Liste von Bezeichnern. Dinge wieclass
sind, wofür der~=
Attributselektor gedacht war.Wenn Sie nur reguläre Ausdrücke verwenden, um zu testen, ob ein Attribut mit einer bestimmten Zeichenfolge beginnt, können Sie den
^
JQuery-Selektor verwenden.Wenn Sie beispielsweise nur div mit einer ID auswählen möchten, die mit "abc" beginnt, können Sie Folgendes verwenden:
Viele sehr nützliche Selektoren zur Vermeidung der Verwendung von Regex finden Sie hier: http://api.jquery.com/category/selectors/attribute-selectors/
quelle
*=
$("input[id*='__destroy'][value='true']")
Bitte schön!
quelle
Fügen Sie eine jQuery-Funktion hinzu.
Dann,
wählt alle Bereichselemente mit Textübereinstimmungen / Gesendet / aus.
wählt alle Span-Elemente mit ihren Klassen aus, die mit /tooltip.year/ übereinstimmen.
quelle
IDs und Klassen sind weiterhin Attribute. Sie können daher einen Regexp-Attributfilter auf sie anwenden, wenn Sie sie entsprechend auswählen. Lesen Sie hier mehr: http://rosshawkins.net/archive/2011/10/14/jquery-wildcard-selectors-some-simple-examples.aspx
quelle
quelle
Ich gebe nur mein Echtzeitbeispiel:
In nativem Javascript habe ich das folgende Snippet verwendet, um die Elemente mit IDs zu finden, die mit "select2-qownerName_select-result" beginnen.
document.querySelectorAll("[id^='select2-qownerName_select-result']");
Als wir von Javascript zu jQuery gewechselt sind, haben wir das obige Snippet durch das folgende ersetzt, das weniger Codeänderungen beinhaltet, ohne die Logik zu stören.
$("[id^='select2-qownerName_select-result']")
quelle
Wenn Sie nur Elemente auswählen möchten, die eine bestimmte Zeichenfolge enthalten, können Sie den folgenden Selektor verwenden:
$(':contains("search string")')
quelle