Saya setelah dokumentasi tentang penggunaan wildcard atau ekspresi reguler (tidak yakin tentang terminologi yang tepat) dengan pemilih jQuery.
Saya telah mencari ini sendiri tetapi tidak dapat menemukan informasi tentang sintaks dan cara menggunakannya. Adakah yang tahu di mana dokumentasi untuk sintaks?
EDIT: Filter atribut memungkinkan Anda untuk memilih berdasarkan pola nilai atribut.
javascript
jquery
regex
jquery-selectors
Joel Cunningham
sumber
sumber
matchParams.join('')
denganmatchParams.join(',')
), dan setiap pola yang cocok'undefined'
atau'null'
akan cocokundefined
dannull
, masing-masing. Bug kedua ini dapat diatasi dengan memeriksa nilai yang diuji!== undefined
dan yang!== null
pertama. Either way, melewati fungsi menjadi.filter()
lebih mudah dan terasa lebih bersih / lebih mudah dibaca bagi saya.Anda dapat menggunakan
filter
fungsi ini untuk menerapkan pencocokan regex yang lebih rumit.Berikut adalah contoh yang hanya cocok dengan tiga div pertama:
sumber
Ini bisa membantu.
Jika Anda menemukan oleh Contains maka akan menjadi seperti ini
Jika Anda menemukan dengan Mulai Dengan maka itu akan menjadi seperti ini
Jika Anda menemukan oleh Berakhir dengan maka itu akan menjadi seperti ini
Jika Anda ingin memilih elemen yang bukan merupakan string yang diberikan
Jika Anda ingin memilih elemen yang namanya berisi kata yang diberikan, dibatasi oleh spasi
Jika Anda ingin memilih elemen yang idnya sama dengan string yang diberikan atau dimulai dengan string yang diikuti oleh tanda hubung
sumber
id
s, sebagai pengidentifikasi, tidak dapat berisi spasi ,~=
contohnya harus diubah menjadi sesuatu yang lain, seperticlass
, yang merupakan daftar pengidentifikasi terbatas ruang-putih. Hal-hal seperticlass
itulah yang~=
dimaksudkan untuk pemilih atribut.Jika penggunaan ekspresi reguler Anda terbatas untuk menguji apakah atribut mulai dengan string tertentu, Anda bisa menggunakan
^
pemilih JQuery.Misalnya jika Anda hanya ingin memilih div dengan id yang dimulai dengan "abc", Anda dapat menggunakan:
Banyak penyeleksi yang sangat berguna untuk menghindari penggunaan regex dapat ditemukan di sini: http://api.jquery.com/category/selectors/attribute-selectors/
sumber
*=
seperti ini:$("input[id*='__destroy'][value='true']")
Ini dia!
sumber
Tambahkan fungsi jQuery,
Kemudian,
akan memilih semua elemen rentang dengan teks yang cocok / Terkirim /.
akan memilih semua elemen rentang dengan kelas yang sesuai /tooltip.year/.
sumber
id dan kelas masih merupakan atribut, sehingga Anda dapat menerapkan filter atribut regexp kepada mereka jika Anda memilihnya. Baca lebih lanjut di sini: http://rosshawkins.net/archive/2011/10/14/jquery-wildcard-selectors-some-simple-examples.aspx
sumber
sumber
Saya hanya memberikan contoh waktu nyata saya:
Dalam javascript asli saya menggunakan cuplikan berikut untuk menemukan elemen dengan id dimulai dengan "select2-qownerName_select-result".
document.querySelectorAll("[id^='select2-qownerName_select-result']");
Ketika kami beralih dari javascript ke jQuery, kami telah mengganti cuplikan di atas dengan yang berikut yang melibatkan lebih sedikit perubahan kode tanpa mengganggu logika.
$("[id^='select2-qownerName_select-result']")
sumber
Jika Anda hanya ingin memilih elemen yang berisi string yang diberikan maka Anda dapat menggunakan pemilih berikut:
$(':contains("search string")')
sumber