jQuery-läpäisy - has()-menetelmä
Esimerkki
Tarkista, onko jokin elementti toisen elementin sisällä:
$("ul").append("<li>" + ($("ul")..has("li").length ? "Kyllä" : "Ei") + "</li>"); $("ul").has("li").addClass("full");
Määritelmä ja käyttö
has() supistaa vastaavien elementtien joukon alijoukoksi, jolla on määritetty valitsin tai DOM-elementti, jolla on vastaavien valitsimen tai DOM-elementin jälkeläisiä.
Syntaksi
.has(selector)
Parametrit | Kuvaus |
---|---|
selector | Merkistöarvo, joka sisältää vastaavien elementtien valitsimen ilmaiselman. |
Yksityiskohtainen selitys
Jos annetaan jQuery-objekti, joka edustaa DOM-elementtien joukkoa, .has()-menetelmä luo uuden jQuery-objektin, joka koostuu vastaavien elementtien lapsijoukosta. Käytettävä valitsin käytetään vastaavien elementtien jälkeläisten tarkistamiseen; jos jokin jälkeläiselementti vastaa valitsinta, elementti sisällytetään tulokseen.
Harkitse seuraavaa sivua, jossa on sisäkkäisiä luetteloja:
<ul> <li>luettelo kohta 1</li> <li>luettelo kohta 2</li> <ul> <li>luettelo kohta 2-a</li> <li>luettelo kohta 2-b</li> </ul> </li> <li>luettelo kohta 3</li> <li>luettelo kohta 4</li> </ul>
Voimme soveltaa tätä menetelmää luettelojen kohteiden joukkoon tällä tavalla:
$('li').has('ul').css('background-color', 'red');
Tämän kutsun tuloksena projektin 2 tausta asetetaan punaiseksi, koska tämä projekti on ainoa jälkeläisistä, jolla on <ul> -elementti <li> -elementin alla.