jquery .find() de la fonction de remplacement?
.find()
fonctions s'exécute très lentement dans IE 7 et ci-dessous, entraînant fréquemment hang ups.
Quelqu'un pourrait-il me suggérer une solution de rechange?
Voici l'extrait de code.
$(".dobAutoTab").each(function() {
var dobFields = $(this).children().find("input");
var fldDate = $(dobFields[0]);
var fldMonth = $(dobFields[1]);
var fldYear = $(dobFields[2]);
)};
- possible dupicate de : stackoverflow.com/questions/7258829/...
- Je ne pense pas que c'est un doublon; cette question est à propos du comportement, tandis que celui-ci est sur les performances.
- La performance de
.find
varient sauvagement par navigateur par sélecteur. Nous donner quelques exemples de la sélecteurs que vous utilisez et nous pouvons être en mesure de vous aider à choisir les meilleurs. Aussi, quelle est la version de jQuery utilisez-vous? - De toute façon, nous aurons besoin de voir certains de code spécifique. Cela dépend de ce que c'est exactement que vous essayez de trouver. IE7 est lent, mais il peut être fait pour effectuer OK. Sans voir ton code mais personne ne sera en mesure de vous aider.
- Voici l'extrait de code. $(".dobAutoTab").each(function() { var dobFields = $(this).les enfants().find("input"); var fldDate = $(dobFields[0]); var fldMonth = $(dobFields[1]); var fldYear = $(dobFields[2]); )};
Vous devez vous connecter pour publier un commentaire.
Surtout, il dépend de ce que vous essayez d'atteindre:
.filtre()
seulement de rechercher dans les éléments qui correspondent à la condition préalable..find()
de recherche, de sous des enfants, des enfants, et tous les descendants..les enfants()
fonctionne exactement de la même manière, mais seulement de trouver les enfants, pas plus lointains descendants..la plus proche()
obtenir le plus proche (premier) élément qui correspond au sélecteur, en commençant à l'élément courant..parent()
Obtenir le parent de chaque élément dans l'ensemble d'éléments qui correspondent, éventuellement filtrées par un sélecteur.Bien sûr, les plus spécifique de votre sélection est, plus vos résultats seront.
Et, si vous le pouvez, rechercher ce dont vous avez besoin à l'intérieur de contextes, ce serait encore plus vite, pour plus d'info à propos de sélecteurs, vérifiez ici
Essayez d'utiliser la normale sélecteurs CSS,
$('#id span')
par exemple, fondamentalement, est$('#id').find('span')
mais beaucoup beaucoup plus rapide.Mais de toute façon, des exemples de code vous obtenir plus de réponse spécifique.
Luis dit
.filter(), .children(), .closest() and parent()
fonctions peut être utilisé pour une alternative à.find()
fonction je veux ajouter deux autres sélecteur de sélecteur jquery pour l'alternative de.find()
fonction qui sont comme ci-dessous:$('#parent_id > #child_id')
ou$(".parent > .first-level-child")
$('#parent_id #child_id')
ou$('#parent_id #grandchild_id')
ou$(".parent .great-grand-child")
ou$( "form input" )