La première variante fera ce qui suit:
- Trouver tous les tags d'ancrage dans la page
- laisser seulement ceux avec ancêtre
div.product
- laisser seulement ceux avec ancêtre
div.gallery
Le deuxième
- Trouver des éléments avec la classe
.gallery
et tag div
- Recherche pour
div.product
dans leurs descendants
- Rechercher les balises d'ancrage dans leurs descendants
Ainsi, le premier cherchera des éléments de droite à gauche, tandis que le le second les cherchera de gauche à droite.
Ce qui est plus rapide dépend de la structure de votre site, mais le premier est la manière recommandée , parce que les navigateurs correspondent sélecteur CSS de la même manière.
Si vous voulez augmenter la vitesse, assurez-vous que le sélecteur le plus à droite est aussi spécifique que possible.
par exemple: dans ce cas, vous pouvez ajouter une classe spéciale pour vos balises d'ancrage comme .gallery-link
et votre requête deviendra simple a.gallery-link
qui dans IE invoquera une fonction getElementsByTagName
pour les balises d'ancrage alors ils seront filtrés par leur classe prénom. Notez que, puisque vous n'avez pas à parcourir l'arborescence DOM, votre requête devient beaucoup plus rapide. Le coût est un balisage un peu plus complexe. Pour les requêtes coûteuses, cela peut en valoir la peine.
Parfait, merci pour votre réponse. –