108 votes

Jquery sélectionne tous les éléments qui ont $ jquery.data ()

Sélectionnez les éléments que j'ai précédemment définis avec jquery.data();

ie sélectionner tous les éléments avec .data('myAttr') déjà défini

SOLUTION
Un jsfiddle à démontrer est http://jsfiddle.net/argiropoulostauros/xynZA/3/

111voto

Nicola Peluchetti Points 38948

Vous pourriez faire

 $('[data-myAttr!=""]'); 
 

ceci sélectionne tous les éléments ayant un attribut data-myAttr de '' (il doit donc avoir été défini);

vous pouvez aussi utiliser filter ()

 $('*').filter(function(){return $(this).data('myAttr') !== undefined;});
 

80voto

J'ai testé beaucoup de choses à ce sujet,

 $('[data-myAttr!=""]');
 

n'est pas utile car les éléments dont data-myAttr n'est pas défini, leur data-myAttr est égal à non défini et l'instruction ci-dessus sélectionnera ces deux éléments.

le moyen le plus simple et le plus simple de les sélectionner est:

 $('[data-myAttr]')
 

22voto

Frédéric Hamidi Points 123646

Vous pouvez utiliser filter () :

 var elements = $("*").filter(function() {
    return $(this).data("myAttr") !== undefined;
});
 

18voto

roberkules Points 3925

Vous pouvez utiliser cette extension jQuery Selector: Interroger des données d'élément

 $(':data');       // All elements with data  
$(':not(:data)'); // All elements without data
 

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