Metodo has() di jQuery esplorazione

Esempio

Verifica se un elemento si trova in un altro elemento:

$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>");
$("ul").has("li").addClass("full");

Prova personalmente

Definizione e uso

has() riduce la raccolta degli elementi corrispondenti a una sotto-raccolta che possiede discendenti che corrispondono a uno specifico selettore o elemento DOM.

Sintassi

.has(selector)
Parametro Descrizione
selector Valore di stringa, che contiene l'espressione di selezione che corrisponde agli elementi.

Spiegazione dettagliata

Se viene fornito un oggetto jQuery che rappresenta una raccolta di elementi DOM, il metodo .has() costruisce un nuovo oggetto jQuery utilizzando la sotto-raccolta degli elementi che corrispondono; l'espressione di selezione utilizzata viene utilizzata per rilevare i discendenti degli elementi corrispondenti; se qualsiasi elemento discendente corrisponde a questa selezione, l'elemento viene incluso nel risultato.

Pensa a questa pagina con elenchi嵌套:

<ul>
  <li>elemento della lista 1</li>
  <li>elemento della lista 2</li>
    <ul>
      <li>elemento della lista 2-a</li>
      <li>elemento della lista 2-b</li>
    </ul>
  </li>
  <li>elemento della lista 3</li>
  <li>elemento della lista 4</li>
</ul>

Possiamo applicare questo metodo alla raccolta degli elementi della lista, come nel seguente modo:

$('li').has('ul').css('background-color', 'red');

Prova personalmente

Il risultato di questa chiamata è che lo sfondo del progetto 2 è stato impostato su rosso, poiché questo progetto è l'unico <li> discendente che possiede <ul>.