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

Kokeile itse

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

Kokeile itse

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.