100 votes

jQuery: Sélectionnez attributs de données qui ne sont pas vides?

Je suis en train de sélectionner tous les éléments qui ont un data-go-to attribut qui n'est pas vide.

J'ai essayé d' $('[data-go-to!=""]') mais curieusement il semble être la sélection de chaque élément sur la page, si je le fais.

200voto

gmo Points 2156

Tout comme plus de référence, et un up-to-date (mai 14) réponse qui fonctionne avec des chaînes vides, des attributs manquants ou les deux.

// attr must exist & could have any value (or none at all)
jQuery("[href]");

// attr could exist & if exist, must have some value
jQuery("[href!='']");

// attr must exist & has to have some value
jQuery("[href!=''][href]");

// more combinations are possible...

Vérifiez ce test dans jsFiddle pour exemples:

79voto

Benjamin Oman Points 808

essayez

$(':not([data-go-to=""])')

19voto

Siva Charan Points 10518
$('[data-go-to!=""]:[data-go-to]').each(function() {
    // Do Your Stuff
});​

5voto

David Thomas Points 111253

Je ne suis pas sûr au sujet d'un simple sélecteur, mais vous pouvez utiliser filter():

$('[data-go-to]').filter(
    function(){
        return ($(this).attr('data-go-to').length > 0);
    });

JS Fiddle démo.

Références:

4voto

Dhiraj Bodicherla Points 3931

Selon la documentation cela devrait le faire

:not([attr="value"])

DÉMO

Espérons que cette aide

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X