0 votes

Sélecteur jquery plus rapide pour trouver un certain nombre d'éléments TD

J'ai un tableau dont chaque ligne comporte 13 éléments TD. Je veux afficher et masquer les 10 premiers d'entre eux lorsque je fais basculer un lien. Ces 10 éléments TD ont tous un ID avec le préfixe "foo" et un numéro à deux chiffres pour leur position (par exemple, "foo01"). Quel est le moyen le plus rapide de les sélectionner dans l'ensemble du tableau ?

$("td:nth-child(-n+10)")

ou

$("td[id^=foo]")

ou vaut-il la peine de concaténer tous les ids ?

$("#foo01, #foo02, #foo03, #foo04, #foo05, #foo06, #foo07, #foo08, #foo09, #foo10")

Y a-t-il une autre approche que je devrais envisager ?

1voto

Nick Craver Points 313913

Utilisez cette

 $("td:lt(10)")

Je dis ça parce que vous avez des identifiants qui debe être unique, c'est-à-dire une seule ligne.

Vous pouvez également utiliser $("tr").find("td:lt(10)") pour plusieurs lignes... mais gardez ces ID uniques.

Mais gardez quelque chose à l'esprit, la vitesse du sélecteur va avoir impact minimal ici. Le redécoupage d'un tableau implique de nombreux calculs de reflux de la part du navigateur (cette colonne est de quelle largeur sur la base de tout le texte, ce qui est enveloppé, etc). C'est ce qui va vous faire perdre du temps dans cette opération, le sélecteur n'aura pas un impact énorme sur les performances puisque la grande majorité du temps de traitement de cette opération sera passée après son exécution.

1voto

dscher Points 670

Et si tu les ajoutais tous à une seule classe ? Ou vous pourriez utiliser "rel" peut-être... Je pense simplement que le fait d'avoir un identifiant commun pourrait accélérer les choses.

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