## has selector

Description: Selects elements which contain at least one element that matches the specified selector.

- #### version added: 1.1.4jQuery( ":has(selector)" )

  selector: Any selector.

The expression `$( "div:has(p)" )` matches a `<div>` if a `<p>` exists anywhere among its descendants, not just as a direct child.

### Additional Notes:

- Because `:has()` is a jQuery extension and not part of the CSS specification, queries using `:has()` cannot take advantage of the performance boost provided by the native DOM `querySelectorAll()` method. For better performance in modern browsers, use `$( "your-pure-css-selector" ).has( selector/DOMElement )` instead.

## Example:

Adds the class "test" to all divs that have a paragraph inside of them.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
    <!doctype html><html lang="en"><head>  <meta charset="utf-8">  <title>has demo</title>  <style>  .test {    border: 3px inset red;  }  </style>  <script src="https://code.jquery.com/jquery-1.10.2.js"></script></head><body> <div><p>Hello in a paragraph</p></div><div>Hello again! (with no paragraph)</div> <script>$( "div:has(p)" ).addClass( "test" );</script> </body></html>

#### Demo: