Réponses:
Vous voulez probablement lire sur tranche . Votre code ressemblera à ceci:
$("a").slice(0,20)
Utilisez le pseudo sélecteur lt:
$("a:lt(n)")
Cela correspond aux éléments avant le nième (le nième élément exclu). La numérotation commence à 0.
J'ai trouvé cette note à la fin des documents lt () :
Notes supplémentaires:
Parce que: lt () est une extension jQuery et ne fait pas partie de la spécification CSS, les requêtes utilisant: lt () ne peuvent pas tirer parti de l'amélioration des performances fournie par la méthode native DOM querySelectorAll (). Pour de meilleures performances dans les navigateurs modernes, utilisez plutôt $ ("your-pure-css-selector"). Slice (0, index).
Utilisez donc $("selector").slice(from, to)
pour de meilleures performances.
Essayez le sélecteur: lt: http://docs.jquery.com/Selectors/lt#index
$('a:lt(20)');
.slice () n'est pas toujours mieux. Dans mon cas, avec jQuery 1.7 dans Chrome 36, .slice (0, 20) a échoué avec l'erreur:
RangeError: taille maximale de la pile d'appels dépassée
J'ai trouvé que: lt (20) fonctionnait sans erreur dans ce cas. J'avais probablement des dizaines de milliers d'éléments correspondants.
$("a:lt(n)")
:lt(20)
approche semble beaucoup plus propre, l'utilisation de la tranche est beaucoup plus efficace si vous avez un ensemble de résultats important pour commencer. Malheureusement, lors de l'évaluation de ": lt" et d'autres sélecteurs de position, jQuery parcourt l'ensemble entier , même s'il ne s'agit que du premier élément. J'ai écrit plus à ce sujet sur mon blog ici: spadgos.com/?p=51