jQuery przechodzenie - metoda has()
Przykład
Sprawdzenie, czy jeden element znajduje się w innym elemencie:
$("ul").append("<li>" + ($("ul").has("li").length ? "Tak" : "Nie") + "</li>"); $("ul").has("li").addClass("full");
Definicja i użycie
has() redukuje zbiór elementów pasujących do podzbioru mającego potomków pasujących do określonego wyrażenia wyboru lub elementu DOM.
Gramatyka
.has(selector)
Parametry | Opis |
---|---|
selector | Wartość ciągła, zawierająca wyrażenie wyboru elementów pasujących. |
Szczegółowe wyjaśnienie
Jeśli podany obiekt jQuery reprezentuje zestaw elementów DOM, metoda .has() tworzy nowy obiekt jQuery z podzbiorem elementów potomnych, które pasują do podanego wyrażenia wyboru. Wyrażenie wyboru jest używane do wykrywania potomków elementów pasujących; jeśli któryś element potomek pasuje do tego wyrażenia, ten element zostanie zawarty w wyniku.
Pomyśl o poniższej stronie z wciętej listą:
<ul> <li>element listy 1</li> <li>element listy 2</li> <ul> <li>element listy 2-a</li> <li>element listy 2-b</li> </ul> </li> <li>element listy 3</li> <li>element listy 4</li> </ul>
Możemy zastosować tę metodę do zbioru elementów listy, tak jak tutaj:
$('li').has('ul').css('background-color', 'red');
Wynik tego wywołania to, że tło elementu 2 ustawione jest na czerwone, ponieważ jest to jedyny element potomka posiadający <ul> <li>.