Método has() da navegação jQuery
Exemplo
Detectar se um elemento está contido em outro:
$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>"); $("ul").has("li").addClass("full");
Definição e uso
O método has() reduz o conjunto de elementos coincidentes para um subconjunto que possui descendentes que coincidem com o seletor especificado ou elemento DOM.
Sintaxe
.has(selector)
Parâmetro | Descrição |
---|---|
selector | Valor de string, contendo a expressão do seletor que coincide com os elementos. |
Explicação detalhada
Se fornecido um objeto jQuery que representa uma coleção de elementos DOM, o método .has() constrói um novo objeto jQuery usando o subconjunto de elementos que correspondem.
Pense na seguinte página com lista aninhada:
<ul> <li>item da lista 1</li> <li>item da lista 2</li> <ul> <li>item da lista 2-a</li> <li>item da lista 2-b</li> </ul> </li> <li>item da lista 3</li> <li>item da lista 4</li> </ul>
Podemos aplicar esse método ao conjunto de itens da lista, assim:
$('li').has('ul').css('background-color', 'red');
O resultado dessa chamada é que o fundo do projeto 2 foi configurado como vermelho, pois esse projeto é o único que possui <ul> entre os descendentes <li>.