## .has( selector )Returns: jQuery

Description: Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element.

- #### version added: 1.4.has( selector )

  - selector
    Type: String
    A string containing a selector expression to match elements against.

- #### version added: 1.4.has( contained )

  - contained
    Type: Element
    A DOM element to match elements against.

Given a jQuery object that represents a set of DOM elements, the `.has()` method constructs a new jQuery object from a subset of the matching elements. The supplied selector is tested against the descendants of the matching elements; the element will be included in the result if any of its descendant elements matches the selector.

Consider a page with a nested list as follows:

1 2 3 4 5 6 7 8 9 10 11 |
     <ul>  <li>list item 1</li>  <li>list item 2    <ul>      <li>list item 2-a</li>      <li>list item 2-b</li>    </ul>  </li>  <li>list item 3</li>  <li>list item 4</li></ul>

We can apply this method to the set of list items as follows:

1 |
    $( "li" ).has( "ul" ).css( "background-color", "red" );

The result of this call is a red background for item 2, as it is the only `<li>` that has a `<ul>` among its descendants.

## Example:

Check if an element is inside another.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
    <!doctype html><html lang="en"><head>  <meta charset="utf-8">  <title>has demo</title>  <style>  .full {    border: 1px solid red;  }  </style>  <script src="https://code.jquery.com/jquery-1.10.2.js"></script></head><body> <ul><li>Does the UL contain an LI?</li></ul> <script>$( "ul" ).append( "<li>" +  ( $( "ul" ).has( "li" ).length ? "Yes" : "No" ) +  "</li>" );$( "ul" ).has( "li" ).addClass( "full" );</script> </body></html>

#### Demo: