jQuery sucintamente atravesando jQuery

Diferencia entre los métodos find () y filter ()

los filtrar() El método se utiliza para filtrar el conjunto actual de elementos contenidos dentro del conjunto de envoltura. Su uso debe dejarse para tareas que requieran filtrar un conjunto de elementos que ya están seleccionados. Por ejemplo, el siguiente código filtrará los tres

Elementos contenidos en el conjunto de envoltura..

    

primero

medio

último

Notas: Cuando usas filtrar(), Siempre pregúntate si es absolutamente necesario. Por ejemplo, $ ('p'). filter (': not (: first): not (: last)') podría ser escrito sin filtrar()$ ('p: no (: primero): no (: último)').

los encontrar() El método, por otro lado, se puede utilizar para encontrar más descendientes de los elementos seleccionados actualmente. Pensar en encontrar() más como actualizar o cambiar el conjunto envuelto actual con nuevos elementos que están encapsulados dentro de los elementos que ya están seleccionados. Por ejemplo, el siguiente código cambiará el conjunto envuelto de

elementos para dos elementos utilizando encontrar().

    

primero

medio

último

Notas: En realidad, puede combinar los elementos en la envoltura antes de usar el encontrar() Método con los elementos actuales mediante el uso de andSelf () - p.ej. $ ('p'). find ('strong'). andSelf ().

El concepto a quitar es que filtrar() solo reducirá (o filtrará) los elementos seleccionados actualmente en el conjunto de envoltorios mientras encontrar() En realidad puede crear un conjunto totalmente nuevo de elementos envueltos.

Notas: Ambos encontrar() y filtrar() son métodos destructivos que se pueden deshacer mediante el uso de fin(), que revertirá el conjunto envuelto a su estado anterior antes encontrar() o filtrar() fueron usados.


Pasando filtro () una función en lugar de una expresión

Antes de salir corriendo y crear un filtro personalizado para seleccionar elementos, podría tener más sentido simplemente pasar el desplazamiento filtrar() método una función que le permitirá examinar cada elemento en el conjunto de envoltura para un escenario particular.

Por ejemplo, digamos que le gustaría envolver todo elementos en una página HTML con una

Elemento que actualmente no está envuelto con este elemento..

Podría crear un filtro personalizado para llevar a cabo esta tarea, o podría usar el filtrar() Método pasándolo una función que determinará si el elemento principal del elemento es un

elemento, y si no es así, entonces retire el elemento del conjunto antes de envolver el Elementos que quedan en el conjunto con una

elemento.

En el siguiente ejemplo, selecciono cada elemento en la página HTML, y luego paso el filtrar() método una función que se utiliza para iterar sobre cada elemento (usando esta) en el conjunto de envoltura, verificando si el el elemento padre de los elementos es un

elemento.

      

Note que estoy usando el ! operador para cambiar un valor booleano de verdadero a falso. Esto es porque quiero eliminar Elementos del conjunto que tienen.

Los elementos como su elemento padre. La función pasó a la filtrar() El método solo eliminará elementos del conjunto si la función devuelve falso.

El punto principal es que si está lidiando con una situación aislada, cree un filtro personalizado, por ejemplo,. : findImgWithNoP-para una sola situación puede evitarse simplemente pasando el método de filtro a una función que puede hacer un filtrado personalizado. Este concepto es bastante poderoso. Considere lo que es posible cuando usamos una prueba de expresiones regulares junto con el filtrar() método.

    
  • jQuery es genial.
  • Es ligero.
  • Es gratis!
  • jQuery hace todo simple.

Atravesando el DOM

Puede desplazarse fácilmente por el DOM a elementos de antepasado utilizando el padre(), padres (), y más cercano () metodos Comprender las diferencias entre estos métodos es crítico. Examine el código a continuación y asegúrese de comprender las diferencias entre estos métodos de desplazamiento de jQuery.

    

Notas: más cercano () y padres () Puede parecer que tiene la misma funcionalidad, pero más cercano () en realidad incluirá el elemento seleccionado actualmente en su filtrado.
más cercano ()deja de atravesar una vez que encuentra una coincidencia, mientras que padres () obtiene todos los padres y luego los filtros en su selector opcional. Por lo tanto, más cercano () Solo se puede devolver un máximo de un elemento..


Los métodos de desplazamiento aceptan expresiones CSS como argumentos opcionales

Las expresiones CSS no solo se pasan a la función jQuery para seleccionar elementos, sino que también se pueden pasar a varios de los métodos de desplazamiento. Podría ser fácil olvidarlo porque muchos de los métodos de desplazamiento funcionan sin tener que usar ninguna expresión en absoluto, por ejemplo,. siguiente(). La expresión es opcional para los siguientes métodos de recorrido, pero recuerde que tiene la opción de proporcionar una expresión para filtrar.

  • niños ('expresión')
  • siguiente ('expresión')
  • nextAll ('expresión')
  • padre ('expresión')
  • padres ('expresión')
  • prev ('expresión')
  • prevAll ('expresión')
  • hermanos ('expresión')
  • más cercano ('expresión')