jQuery succinctement Traverser avec jQuery

Différence entre les méthodes find () et filter ()

le filtre() Cette méthode est utilisée pour filtrer l’ensemble actuel d’éléments contenus dans l’enveloppe. Son utilisation devrait être laissée aux tâches nécessitant le filtrage d'un ensemble d'éléments déjà sélectionnés. Par exemple, le code ci-dessous filtrera les trois

éléments contenus dans le wrapper set.

    

premier

milieu

dernier

Remarques: Lors de l'utilisation filtre(), demandez-vous toujours si c'est absolument nécessaire. Par exemple, $ ('p'). filter (': pas (: premier): pas (: dernier)') pourrait être écrit sans filtre()$ ('p: pas (: premier): pas (: dernier)').

le trouver() Cette méthode, en revanche, peut être utilisée pour rechercher plus avant les descendants des éléments actuellement sélectionnés. Penser à trouver() Cela ressemble davantage à la mise à jour ou à la modification du jeu enveloppé actuel avec de nouveaux éléments encapsulés dans les éléments déjà sélectionnés. Par exemple, le code ci-dessous modifiera le jeu enveloppé de

éléments à deux éléments en utilisant trouver().

    

premier

milieu

dernier

Remarques: Vous pouvez réellement combiner les éléments du wrapper avant d’utiliser le trouver() méthode avec les éléments actuels en utilisant et soi-même () - par exemple. $ ('p'). find ('strong'). andSelf ().

Le concept à retenir est que filtre() réduira (ou filtrera) uniquement les éléments actuellement sélectionnés dans le groupe de wrapper trouver() peut réellement créer un tout nouvel ensemble d'éléments enveloppés.

Remarques: Tous les deux trouver() et filtre() sont des méthodes destructives qui peuvent être annulées en utilisant fin(), qui retournera le jeu emballé à son état précédent avant trouver() ou filtre() ont été utilisées.


Passer le filtre () une fonction à la place d'une expression

Avant de créer un filtre personnalisé pour la sélection d’éléments, il serait peut-être plus judicieux de simplement passer le curseur filtre() méthode une fonction qui vous permettra d’examiner chaque élément de l’encapsuleur pour un scénario particulier.

Par exemple, supposons que vous souhaitiez tout emballer éléments dans une page HTML avec un

élément qui n'est actuellement pas encapsulé avec cet élément.

Vous pouvez créer un filtre personnalisé pour accomplir cette tâche ou utiliser le filtre() méthode en passant une fonction qui déterminera si le parent de l'élément est un

élément, et sinon, supprimez l'élément de l'ensemble avant d'envelopper le éléments restant dans l'ensemble avec un

élément.

Dans l'exemple suivant, je sélectionne tous les élément dans la page HTML, puis je passe le filtre() méthode une fonction utilisée pour parcourir chaque élément (en utilisant ce) dans le jeu d’emballages, en vérifiant si le L'élément parent des éléments est un

élément.

      

Notez que j'utilise le ! opérateur pour changer une valeur booléenne de true à false. C'est parce que je veux enlever éléments de l'ensemble qui ont

éléments en tant qu'élément parent. La fonction passée à la filtre() méthode ne supprimera les éléments de l'ensemble que si la fonction renvoie false.

Le point principal est que si vous avez affaire à une situation isolée, créez un filtre personnalisé, par exemple. : findImgWithNoP-Pour éviter une situation unique, il suffit de transmettre à la méthode de filtrage une fonction permettant un filtrage personnalisé. Ce concept est assez puissant. Considérez ce qui est possible lorsque nous utilisons un test d’expressions régulières en conjonction avec le filtre() méthode.

    
  • jQuery est génial.
  • C'est léger.
  • C'est gratuit!
  • jQuery rend tout simple.

Traverser le DOM

Vous pouvez facilement traverser le DOM jusqu’aux éléments ancêtres en utilisant le parent(), Parents(), et le plus proche() méthodes. Comprendre les différences entre ces méthodes est essentiel. Examinez le code ci-dessous et assurez-vous de bien comprendre les différences entre ces méthodes de parcours jQuery..

    

Remarques: le plus proche() et Parents() peut sembler avoir la même fonctionnalité, mais le plus proche() inclura réellement l'élément actuellement sélectionné dans son filtrage.
le plus proche()arrête de traverser une fois qu'il trouve une correspondance, alors que Parents() obtient tous les parents puis filtre sur votre sélecteur facultatif. Donc, le plus proche() ne peut renvoyer qu'un maximum d'un élément.


Méthodes de parcours acceptant les expressions CSS comme arguments facultatifs

Les expressions CSS ne sont pas seulement transmises à la fonction jQuery pour la sélection des éléments, elles peuvent également être transmises à plusieurs méthodes de parcours. Il peut être facile de l’oublier, car bon nombre des méthodes de parcours fonctionnent sans avoir à utiliser d’expression du tout, par exemple.. suivant(). L'expression est facultative pour les méthodes de parcours suivantes, mais souvenez-vous que vous avez la possibilité de fournir une expression pour le filtrage..

  • enfants ('expression')
  • next ('expression')
  • nextAll ('expression')
  • parent ('expression')
  • parents ('expression')
  • prev ('expression')
  • prevAll ('expression')
  • frères et soeurs ('expression')
  • le plus proche ('expression')