Pilih elemen yang telah saya atur sebelumnya jquery.data();
yaitu Pilih semua elemen dengan yang .data('myAttr')
telah ditetapkan.
LARUTAN
Jsfiddle untuk didemostrasi adalah Fiddle
javascript
jquery
jquery-selectors
Argiropoulos Stavros
sumber
sumber
$('[data-myAttr]')
Cara terbaik dan sederhana untuk memilihnya adalah:
Informasi Lebih Lanjut:
Saya menguji banyak hal.
Penggunaan
$('[data-myAttr!=""]')
tidak berfungsi untuk semua kasus. Karena elemen yang tidak memilikidata-myAttr
himpunan, akandata-myAttr
sama denganundefined
dan$('[data-myAttr!=""]')
akan memilihnya juga, yang mana tidak benar.sumber
Anda dapat menggunakan filter () :
sumber
$('[data-myAttr]')
?data()
bentuk getter memang membacadata-
atribut HTML5 , tetapi bentuk penyetelnya tidak membuat atau memperbaruinya.Anda bisa menggunakan jQuery Selector extention: Querying element data
sumber
Anda bisa menggunakan JQuery UI dengan : data () selector
Lihat jsfiddle ini sebagai contoh
Untuk mendapatkan semua elemen yang cocok,
.data('myAttr')
Anda dapat menggunakanIni harus bekerja untuk elemen dengan
data-
atribut dan elemen dengan data yang disimpan menggunakan$.data()
karenaTapi ini tidak bekerja dengan baik. Periksa jsfiddle ini dan Anda akan melihat bahwa pemilih yang kedua kali dipanggil harus cocok dengan 2 elemen dan hanya cocok dengan satu. Ini karena "bug" di pustaka jquery-ui.
Ini diambil dari file inti jquery-ui.
Seperti yang Anda lihat, mereka
$.data(elem, match)
malah menggunakan$(elem).data(match)
yang menyebabkan cache tidak diperbarui jika Anda meminta elemen dengandata-
atribut. Jika elemen telah diuji untukdata()
penyimpanan, ini berfungsi dengan baik tetapi jika tidak, itu tidak akan disertakan dalam hasil yang cocok.Ini mungkin bukan bug sama sekali jika yang Anda inginkan adalah mencocokkan hanya elemen dengan informasi data yang Anda tetapkan, tetapi jika tidak, Anda memiliki dua opsi.
Jangan gunakan jquery-ui dan perluas pseudo-selector Anda sendiri
$(:mydata(myAttr))
Tampilkan cuplikan kode
Gunakan jquery-ui dengan
:data
pseudoselector dan gabungkan hasil pemilihan[data-myAttr]
untuk menyertakan yang mungkin dilewatiTampilkan cuplikan kode
sumber
sumber
Coba manfaatkan
jQuery.data()
jsfiddle http://jsfiddle.net/xynZA/142/
sumber
html
data-*
set atribut, sertajQuery.data()
set?