has() e not()

by Juri Rudi

HTML

<ul>
  <li class="dispari">list item 1</li>
  <li class="pari">list item 2
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li class="dispari">list item 3
      <ul>
    <li>list item 3-a</li>
      <li>list item 3-b</li>
    </ul>
    </li>
  <li class="pari">list item 4</li>
</ul>

JavaScript

// HAS
// list item 2
$("li.pari").has("ul").css( "background-color", "yellow");
// list item 3
$("li.dispari:has(ul)").css( "background-color", "yellow");

// NOT
// list item 1
$("li.dispari:not(:has(ul))").css( "background-color", "red");
// list item 4
$("li.pari").not(":has(ul)").css( "background-color", "red");