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");
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');
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>.