data-go-to
Boş olmayan bir niteliğe sahip tüm öğeleri seçmeye çalışıyorum .
Denedim $('[data-go-to!=""]')
ama garip bir şekilde, bunu yaparsam sayfadaki her bir öğeyi seçiyor gibi görünüyor.
Yanıtlar:
Deneyin
$(':not([data-go-to=""])')
GÜNCELLEME:
Kimseyi yanlış yola yönlendirmemek adına, bu yanıt jQuery'nin eski sürümlerinde çalışacak ancak geleceğe yönelik değildir. @Gmo ve @ siva'nın yanıtlarının her ikisi de sonraki sürümlerde çalışıyor gibi göründüğünden, onların yanıtlarını ertelerim (ve sizi oylamaya teşvik ederim) .... ve tabii ki harika bir gün geçirmenizi dilerim.
$('element:not([attribute=])'); // gets all of <element attribute="">
da$(':not([attribute=])'); // gets all of <* attribute="">
$('[data-go-to!=""]:[data-go-to]')
çalışmıyor gibi görünüyor ama çalışıyor .
Sadece daha fazla referans ve bir şekilde yukarı güncel (may'14) (aug'15) (sep'16) (apr'17) (mar'18) (mar'19) ( may'20 ) ...
Aşağıdakilerle çalışan cevap:
Boş dizeler:
Eğer gerekir var ve olabilir herhangi bir değere sahip (hiç ya da hiç)
attr
jQuery("[href]");
Eksik özellikler:
Eğer olabilir mevcut ve varsa, gereken bazı değere sahip
attr
jQuery("[href!='']");
Ya da her ikisi de:
Eğer gerekir var ve olması gerekiyor bazı değer ...
attr
jQuery("[href!=''][href]");
Not : daha fazla kombinasyon mümkündür ...
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 JsFiddle'da 28 Mayıs'ta mevcut olan son jQuery sürümü jQuery Edge ->
jsFiddle online test jQuery edge sürümü (dikkatli kullanın) * Snippet, jQuery v2.1.1'i çalıştırıyor
$(':not([data-go-to=""])')
artık çalışmıyor
$('[data-go-to!=""]:[data-go-to]').each(function() {
// Do Your Stuff
});
Unrecognized Expression
hata veriyor .
"Veri özniteliği adı" vardır ve değeri boş değildir:
$('[data-attributename]:not([data-attributename=""])')
"Data-attributename" boş veya değil:
$('[data-attributename]')
Basit bir seçiciden emin değilim, ancak şunu kullanabilirsiniz filter()
:
$('[data-go-to]').filter(
function(){
return ($(this).attr('data-go-to').length > 0);
});
Referanslar:
$('[data-go-to]').filter(function() {
return $(this).data('go-to')!="";
});
, Vb. Kullanımı :not
, data özniteliğini değil, yalnızca elemanın boş olup olmadığını kontrol eder. Bunun için veri öznitelikleri değerine göre filtrelemeniz gerekecektir..not()
:empty
Bunu dene :
$('[data-go-to:not(:empty)]')
"Syntax error, unrecognized expression: [data-go-to:not(:empty)]"