He estado usando jQuery por un tiempo. Quería usar el parent()
selector. También se me ocurrió el closest()
selector. No se pudo encontrar ninguna diferencia entre ellos. ¿Hay alguna? En caso afirmativo, ¿qué?
¿Qué es la diferencia entre parent()
, parents()
y closest()
?
Respuestas:
fuente
.parents()
(en lugar de.parent()
) que recupera todos los elementos?de http://api.jquery.com/closest/
Aquí hay hilos relacionados:
¿Cuál es la diferencia entre .closest () y .parents ('selector')?
https://stackoverflow.com/a/2200805/149206
fuente
Note
.The .parents() and .parent() methods are similar, except that the latter only travels a single level up the DOM tree. Also, $("html").parent() method returns a set containing document whereas $("html").parents() returns an empty set.
Las diferencias entre los dos, aunque sutiles, son significativas:
De documentos jQuery
fuente
Hay diferencia entre ambos
$(this).closest('div')
y$(this).parents('div').eq(0)
Básicamente,
closest
comienza a hacer coincidir elementos del elemento actual, mientras queparents
comienza a hacer coincidir elementos desde el elemento primario (un nivel por encima del elemento actual)fuente
parent()
El método devuelve el elemento primario directo del seleccionado. Este método solo atraviesa un solo nivel en el árbol DOM.parents()
El método nos permite buscar a través de los antepasados de estos elementos en el árbol DOM. Comience desde el selector dado y suba.fuente
$(this).closest('div')
es igual que$(this).parents('div').eq(0)
.fuente