jQuery équivalent de querySelector
Qu'est-ce que le jQuery équivalent de querySelector? Le seul moyen que j'ai trouvé jusqu'à présent est de sélectionner tout, puis choisissez la première sélection:
$(selectorString)[0]
Avec l'expression ci-dessus, jQuery est assez intelligent pour arrêter après avoir trouvé le premier match?
Mise à jour: @Mutnowski a suggéré d'utiliser l'égaliseur() et d'abord, mais après avoir lu le jQuery documentation de ces deux méthodes semblent avoir le même inconvénient: jQuery allons d'abord faire tous les matchs, puis filtrer uniquement le premier élément.
notez que "eq" n'est pas un sélecteur css, jQuery mise en œuvre. Donc, pour avoir la meilleure performance est mieux d'écrire
$("td").eq(2)
au lieu de $("td:eq(2)")
OriginalL'auteur Christophe | 2012-04-03
Vous devez vous connecter pour publier un commentaire.
Vous le souhaitez .eq(index) pour obtenir un indice
http://api.jquery.com/eq/
Si vous voulez juste la première utilisation .(première)
http://api.jquery.com/first/
Correct.
OriginalL'auteur Murtnowski
Il semble donc qu'il n'existe pas d'équivalent de querySelector en jQuery, ou dans d'autres bibliothèques que j'ai regardé.
La solution de contournement consiste à sélectionner tous les éléments correspondants (équivalent à querySelectorAll) puis filtrer la première. Cela peut être fait à l'aide de [0] (retourne un nœud html) ou comme suggéré par @Mutnowski avec eq(0) ou en première (de retour d'un objet jQuery).
OriginalL'auteur Christophe
vous pouvez écrire un plugin simple (remarques sur la compatibilité)
OriginalL'auteur Killy