Saya mencoba memilih semua elemen yang memiliki data-go-to
atribut yang tidak kosong.
Saya sudah mencoba $('[data-go-to!=""]')
tetapi anehnya tampaknya memilih setiap elemen di halaman jika saya melakukan itu.
Jawaban:
mencoba
$(':not([data-go-to=""])')
MEMPERBARUI:
Demi tidak menyesatkan siapa pun, jawaban ini akan berfungsi di versi jQuery yang lebih lama tetapi tidak tahan masa depan. Karena @gmo dan @ siva jawaban keduanya tampaknya berfungsi dengan versi yang lebih baru, saya menunda (dan mendorong Anda untuk memberi suara positif) jawaban mereka .... dan tentu saja semoga hari Anda menyenangkan.
$('element:not([attribute=])'); // gets all of <element attribute="">
atau$(':not([attribute=])'); // gets all of <* attribute="">
$('[data-go-to!=""]:[data-go-to]')
.
Hanya sebagai referensi lebih lanjut, dan up-to-date (may'14) (aug'15) (sep'16) (apr'17) (mar'18) (mar'19) ( may'20 ) ...
Jawaban yang sesuai dengan:
String kosong:
Jika harus ada & dapat memiliki nilai apa pun (atau tidak sama sekali)
attr
jQuery("[href]");
Atribut yang hilang:
Jika bisa ada & jika ada, pasti punya nilai
attr
jQuery("[href!='']");
Atau keduanya:
Jika harus ada & harus memiliki nilai ...
attr
jQuery("[href!=''][href]");
PS : lebih banyak kombinasi dimungkinkan ...
jQuery v1.11.0 ->
jsFiddle online testjQuery v2.1.0 ->
jsFiddle online testjQuery v2.1.3 ->
jsFiddle online testjQuery v3.0.0-alpha1 ->
jsFiddle online testjQuery v3.1.1 Slim ->
jsFiddle online test jQuery v3.2.1 ->
jsFiddle online test jQuery v3.3.1 ->
jsFiddle online test jQuery v3.4.1 ->
jsFiddle online test Versi jQuery terakhir tersedia di jsFiddle pada 28'20 Mei jQuery Edge ->
jsFiddle online test jQuery edge version (gunakan dengan hati-hati) * Snippet menjalankan jQuery v2.1.1
$(':not([data-go-to=""])')
tidak berfungsi lagi
$('[data-go-to!=""]:[data-go-to]').each(function() {
// Do Your Stuff
});
Unrecognized Expression
kesalahan.
Memiliki 'data-atributename' dan nilainya tidak kosong:
$('[data-attributename]:not([data-attributename=""])')
Memiliki 'data-atributename' kosong atau tidak:
$('[data-attributename]')
Saya tidak yakin tentang pemilih sederhana, tetapi Anda dapat menggunakan filter()
:
$('[data-go-to]').filter(
function(){
return ($(this).attr('data-go-to').length > 0);
});
Referensi:
Coba ini :
$('[data-go-to:not(:empty)]')
"Syntax error, unrecognized expression: [data-go-to:not(:empty)]"