Maison > interface Web > js tutoriel > Code pour obtenir un sous-élément spécifique dans un élément dans jquery_jquery

Code pour obtenir un sous-élément spécifique dans un élément dans jquery_jquery

WBOY
Libérer: 2016-05-16 16:29:33
original
1203 Les gens l'ont consulté

Certaines des applications JQUERY que j'ai réalisées auparavant étaient une programmation très basique et n'avaient pas d'exigences élevées en matière de sélecteurs, telles que "$('.class')", "$('#id')", "$( ' #id>.class')", "$(this)", "$(this).parent()", "$(this).children()" peuvent tous être résolus.

Le problème se pose lorsque je veux sélectionner un span dans un certain li dans ul, car pour faciliter la programmation, li est sélectionné en utilisant $('ul>li').eq(i), bien que le problème puisse toujours être résolu en utilisant la méthode précédente, mais j'ai toujours l'impression que le code est un peu gonflé et inefficace. Puisque JQUERY est connu comme le code le plus efficace parmi tous les frameworks JS actuels, il est impossible de résoudre ce problème avec beaucoup de code !

En regardant l'API de JQUERY, j'ai trouvé qu'il existe une déclaration très appropriée pour cette occasion que je n'ai jamais remarquée. C'est-à-dire : $(sélecteur un).find(sélecteur deux). Bien que j'aie déjà lu l'introduction pour la trouver, elle a toujours été ignorée car elle n'est pas utilisée.

Voici comment utiliser find()
Explication fournie par l'API : Recherchez tous les éléments correspondant à l'expression spécifiée. Cette fonction est un excellent moyen de connaître les éléments descendants de l'élément en cours de traitement.

Utilisation : $(sélecteur un).find(sélecteur deux);

Prenez la photo de focus sur la page d'accueil de Xiaoju Inn, trouvez la travée dans le DD sous le DL avec la classe ".focusphoto" et faites-la disparaître :

Copier le code Le code est le suivant :

$('.focusphoto>dl>dd).eq(i).find("span").fadeOut('lent');

Parlez de la compréhension de find() dans le court drame

Mon application peut en fait utiliser children() à la place, mais cela ne signifie pas que l'utilisation de find() et children() est la même. Si tel est le cas, l'existence de find() n'aura aucun sens. Lorsque la profondeur de la requête est d'un niveau, les deux ont des similitudes, mais la différence est la suivante : find() est un sélecteur de sous-requête, qui peut pénétrer profondément dans le niveau inférieur de l'enfant pour la sélection de la requête et children() : uniquement l'enfant A ; sélecteur de niveau qui ne peut sélectionner que les éléments du niveau suivant.

Bien sûr, ce qui précède n'est que l'humble opinion des personnes impliquées dans le drame, veuillez me corriger !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal