Método has() de Navegación de jQuery
Ejemplo
Detectar si un elemento está dentro de otro elemento:
$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>"); $("ul").has("li").addClass("full");
Definición y uso
has() reduce la colección de elementos coincidentes a un subconjunto que posee descendientes que coinciden con el selector especificado o con el elemento DOM.
Sintaxis
.has(selector)
Parámetros | Descripción |
---|---|
selector | Valor de cadena que contiene la expresión del selector que coincide con los elementos. |
Explicación detallada
Si se proporciona un objeto jQuery que representa una colección de elementos DOM, el método .has() construye un nuevo objeto jQuery utilizando un subconjunto de elementos que coinciden con el subconjunto de elementos hijos del elemento coincidente; el selector utilizado se aplica para detectar los descendientes que coinciden con el selector; si cualquier elemento descendiente coincide con el selector, ese elemento se incluirá en el resultado.
Piensa en la siguiente página con lista anidada:
<ul> <li>elemento de lista 1</li> <li>elemento de lista 2</li> <ul> <li>elemento de lista 2-a</li> <li>elemento de lista 2-b</li> </ul> </li> <li>elemento de lista 3</li> <li>elemento de lista 4</li> </ul>
Podemos aplicar este método a la colección de elementos de lista, como así:
$('li').has('ul').css('background-color', 'red');
El resultado de esta llamada es que el fondo del proyecto 2 se establece en rojo, ya que este proyecto es el único <li> que posee <ul> entre los descendientes.