Jestem po dokumentacji dotyczącej używania symboli wieloznacznych lub wyrażeń regularnych (nie jestem pewien co do dokładnej terminologii) za pomocą selektora jQuery.
Szukałem tego sam, ale nie byłem w stanie znaleźć informacji na temat składni i sposobu jej użycia. Czy ktoś wie, gdzie jest dokumentacja składni?
EDYCJA: Filtry atrybutów pozwalają wybrać na podstawie wzorców wartości atrybutu.
javascript
jquery
regex
jquery-selectors
Joel Cunningham
źródło
źródło
matchParams.join('')
jematchParams.join(',')
) oraz każdego wzorca, który pasuje'undefined'
lub'null'
będzie pasowałundefined
inull
odpowiednio. Ten drugi błąd można rozwiązać, sprawdzając, czy przetestowana wartość!== undefined
i!== null
najpierw. Tak czy inaczej, przekazanie funkcji.filter()
jest łatwiejsze i wydaje mi się czystsze / bardziej czytelne.Możesz użyć tej
filter
funkcji, aby zastosować bardziej skomplikowane dopasowanie wyrażenia regularnego.Oto przykład, który pasowałby do pierwszych trzech div:
źródło
Mogą być pomocne.
Jeśli znajdziesz w Contains , będzie tak
Jeśli znajdziesz, zaczyna się od, będzie tak
Jeśli znajdziesz w Ends With , będzie tak
Jeśli chcesz wybrać elementy, których identyfikator nie jest podanym ciągiem
Jeśli chcesz wybrać elementy, których nazwa zawiera dane słowo, rozdzielone spacjami
Jeśli chcesz wybrać elementy, których identyfikator jest równy podanemu ciągowi lub zaczynając od tego ciągu, po którym następuje myślnik
źródło
id
ponieważ jako identyfikatory nie mogą zawierać spacji ,~=
przykład należy zmienić na coś innego, na przykładclass
listę rozdzielaną spacjami. Takieclass
są~=
cele selektora atrybutów.Jeśli użycie wyrażenia regularnego jest ograniczone do sprawdzenia, czy atrybut zaczyna się od określonego ciągu, można użyć
^
selektora JQuery.Na przykład, jeśli chcesz wybrać div z identyfikatorem zaczynającym się na „abc”, możesz użyć:
Wiele bardzo przydatnych selektorów pozwalających uniknąć użycia wyrażenia regularnego można znaleźć tutaj: http://api.jquery.com/category/selectors/attribute-selectors/
źródło
*=
tego w następujący sposób:$("input[id*='__destroy'][value='true']")
Proszę bardzo!
źródło
Dodaj funkcję jQuery,
Następnie,
wybierze wszystkie elementy zakresu z dopasowaniami tekstu / Wysłane /.
wybierze wszystkie elementy zakresu, aby ich klasy pasowały do /tooltip.year/.
źródło
id i klasy są nadal atrybutami, więc możesz zastosować do nich filtr atrybutów regularnych, jeśli odpowiednio wybierzesz. Przeczytaj więcej tutaj: http://rosshawkins.net/archive/2011/10/14/jquery-wildcard-selectors-some-simple-examples.aspx
źródło
źródło
Podaję tylko mój przykład w czasie rzeczywistym:
W natywnym javascript użyłem następującego fragmentu, aby znaleźć elementy o identyfikatorach zaczynających się od „select2-qownerName_select-result”.
document.querySelectorAll("[id^='select2-qownerName_select-result']");
Kiedy przeszliśmy z javascript do jQuery, zastąpiliśmy powyższy fragment kodu poniższym, który obejmuje mniej zmian kodu bez zakłócania logiki.
$("[id^='select2-qownerName_select-result']")
źródło
Jeśli chcesz tylko wybrać elementy zawierające podany ciąg, możesz użyć następującego selektora:
$(':contains("search string")')
źródło