2 votes

sélecteur jquery pour filtrer les éléments

Je l'ai fait :

var rows = $table.find('tbody > tr').get();

Ceci sélectionne toutes les lignes. Cependant, toutes les tables n'ont pas thead et tbody explicitement définis, donc je dois filtrer out toutes les lignes qui ont .children('th')

11voto

user113716 Points 143363

EDIT : Je suppose que vous vouliez filtrer out les rangs qui ont <th> éléments. Si vous vouliez vous retrouver avec uniquement ces rangées, alors il suffit de se débarrasser des :not() partie.


Cela vous donnera <tr> les éléments du tableau qui n'ont pas de descendant <th> .

var rows = $table.find('tr:not(:has(th))').get();

Notez que cela prendra également en compte les tableaux imbriqués. S'il y a des tables imbriquées avec <th> tags, essayez ceci :

var rows = $table.find('tr:not(:has( > th))').get();

...ce qui devrait limiter la prise en compte de la <th> aux enfants immédiats.

-1voto

spinon Points 6362

Pourquoi ne pas changer ça en :

var rows = $table.find('tr > th').get();

EDIT :

var rows = $table.find("tr:has(th)").get();

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