2012-01-23 8 views
16

El siguiente selector $('.sub_menu_container',this) tiene 2 parámetros, el selector que desea buscar y un segundo. En este caso es this. ¿De qué sirve agregar ese segundo parámetro? He buscado los documentos de jquery pero no he encontrado nada que pueda ayudarme. ¿Es algún tipo de referencia?Selector con 2 parámetros

+0

Puede verlo tan bien como con un elemento parental como: $ ('. Sub_menu_container', principal) –

Respuesta

17

el segundo parámetro proporciona el contexto en el que buscar el elemento emparejado por el primer selector

4

¿De qué sirve agregar ese segundo parámetro?

A medida que el documentation explica:

Por defecto, los selectores realizan sus búsquedas dentro del DOM a partir en la raíz del documento. Sin embargo, se puede dar un contexto alternativo para la búsqueda utilizando el segundo parámetro opcional para la función $().

Internamente, el contexto del selector se implementa con el método .find(), por lo que $ ('span', esto) es equivalente a $ (this) .find ('span').

+0

Tiene el mismo _efecto_ que con '.find()', pero guarda una llamada a la función. –

14

su justo como:

$(this).find('.sub_menu_container') 

su contexto re-formato del código.

que todos :)

+0

p.s. y es mas rapido –

2

El segundo parámetro es un ámbito para la búsqueda. Significa que jQuery busca el primer selector dentro del segundo selector.

8

El segundo parámetro abarca el selector, por lo que solo busca dentro del contexto del elemento provisto en el segundo parámetro. Básicamente es lo mismo que decir $(this).find('.sub_menu_container');.

Cuestiones relacionadas