Metoda jQuery Najbliższa()
Przykład
Zwróć pierwszego przodka <span>, czyli element <ul>:
$(document).ready(function(){
$("span").closest("ul").css({"color": "red", "border": "2px solid red"});
});
Wynik:
body (great-great-grandparent)
div (great-grandparent)
ul (second ancestor - second grandparent) ul (first ancestor - first grandparent) - li (direct parent) span
Definicja i użycie
Metoda Najbliższa() zwraca pierwszego przodka wybranego elementu.
Przodek jest rodzicem, dziadkiem, pradziadkiem i tak dalej.
Drzewo DOM: Ta metoda przechodzi w górę od bieżącego elementu, aż do elementu głównego dokumentu (<html>), aby znaleźć pierwszego przodka elementów DOM.
Ta metoda jest podobna do parent() , ponieważ obie przechodzą w górę drzewa DOM. Różnice są następujące:
najbliższy()
- Rozpoczyna się od bieżącego elementu
- Podróżuje w górę drzewa DOM i zwraca pierwszego (pojedynczego) przodka, który pasuje do przekazanego wyrażenia
- Zwrócony obiekt jQuery zawiera zero lub jeden element
rodzice()
- Zaczyna się od elementu nadrzędnego
- Podróżuje w górę drzewa DOM i zwraca wszystkich przodków pasujących do przekazanego wyrażenia
- Zwrócony obiekt jQuery zawiera zero lub więcej niż jeden element
Inne powiązane metody:
- parent() - zwraca bezpośredni element rodzica wybranego elementu
- parentUntil() - zwraca wszystkie elementy przodka pomiędzy dwoma podanymi argumentami
Składnia
Zwróć pierwszego przodka wybranego elementu:
$(selector).closest(filter)
Zwróć pierwszego przodka za pomocą kontekstu DOM, aby wyszukać drzewo DOM w:
$(selector).closest(filter,context)
Parameter | Description |
---|---|
filter | Required. Specifies a selector expression, element or jQuery object to narrow down the ancestor search |
context | Optional. A DOM element within which a matching element may be found |
Spróbuj sam - przykłady
Ponieważ ta metoda rozpoczyna się od bieżącego elementu, wyszukiwanie pierwszego elementu <span> elementu <span> zwróci <span>.
Użycie obu parametrów do przekazania elementu DOM jako kontekstu wyszukiwania pierwszego elementu <ul>.