Od jakiegoś czasu korzystam z jQuery. Chciałem użyć parent()
selektora. Wymyśliłem też closest()
selektor. Nie można znaleźć między nimi żadnej różnicy. Czy jest jakiś? Jeśli tak to co?
Jaka jest różnica między parent()
, parents()
i closest()
?
Odpowiedzi:
źródło
.parents()
(zamiast.parent()
) pobiera wszystkie elementy?z http://api.jquery.com/closest/
Oto powiązane wątki:
Jaka jest różnica między .closest () a .parents ('selektor')?
https://stackoverflow.com/a/2200805/149206
źródło
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.
Różnice między nimi, choć subtelne, są znaczące:
Z dokumentów jQuery
źródło
Istnieje różnica między nimi
$(this).closest('div')
a$(this).parents('div').eq(0)
Zasadniczo
closest
zacznij dopasowywać element od bieżącego elementu, podczas gdyparents
zacznij dopasowywać elementy od elementu nadrzędnego (jeden poziom powyżej bieżącego elementu)źródło
parent()
Metoda zwraca bezpośredni element nadrzędny wybranego elementu. Ta metoda przemierza tylko jeden poziom wyżej w drzewie DOM.parents()
Metoda pozwala nam wyszukiwać przodków tych elementów w drzewie DOM. Zacznij od danego selektora i przejdź w górę.źródło
$(this).closest('div')
jest taki sam jak$(this).parents('div').eq(0)
.źródło