Antworten:
Versuchen
$(':not([data-go-to=""])')
AKTUALISIEREN:
Um niemanden in die Irre zu führen, funktioniert diese Antwort in älteren Versionen von jQuery, ist jedoch nicht zukunftssicher. Da die Antworten von @gmo und @ siva anscheinend mit späteren Versionen funktionieren, schiebe ich ihre Antworten zurück (und ermutige Sie, sie zu verbessern) ... und hoffe natürlich, dass Sie einen fantastischen Tag haben.
$('element:not([attribute=])'); // gets all of <element attribute="">
oder$(':not([attribute=])'); // gets all of <* attribute="">
$('[data-go-to!=""]:[data-go-to]')
tut es aber .
Nur als weitere Referenz und ein aktuelles (14. Mai) (15. August) (16. September) ( 17. April) (18. März) (19. März) (19. Mai ) ... 20. Mai ...
Antwort, die funktioniert mit:
Leere Zeichenfolgen:
Wenn das existieren muss & irgendeinen Wert haben könnte (oder überhaupt keinen)
attr
jQuery("[href]");
Fehlende Attribute:
Wenn existieren könnte & wenn existieren, muss ein Wert haben
attr
jQuery("[href!='']");
Oder beides:
Wenn es existieren muss und einen Wert haben muss ...
attr
jQuery("[href!=''][href]");
PS : Weitere Kombinationen sind möglich ...
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 Letzte jQuery-Version verfügbar in jsFiddle am 28. Mai 20 jQuery Edge ->
jsFiddle online test jQuery Edge-Version (mit Vorsicht verwenden) * Snippet führt jQuery v2.1.1 aus
$(':not([data-go-to=""])')
funktioniert nicht mehr
$('[data-go-to!=""]:[data-go-to]').each(function() {
// Do Your Stuff
});
Unrecognized Expression
Fehler.
Hat 'data-attributename' und sein Wert ist nicht leer:
$('[data-attributename]:not([data-attributename=""])')
Hat 'data-attributename' leer oder nicht:
$('[data-attributename]')
Ich bin mir bei einem einfachen Selektor nicht sicher, aber Sie könnten Folgendes verwenden filter()
:
$('[data-go-to]').filter(
function(){
return ($(this).attr('data-go-to').length > 0);
});
Verweise:
Versuche dies :
$('[data-go-to:not(:empty)]')
"Syntax error, unrecognized expression: [data-go-to:not(:empty)]"