:has() Selector

has ( selector ) version added: 1.1.4

  • selector
    Type: Selector
    Any selector.

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

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

Examples:

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

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>css demo</title>

  <style>

  .test {
    border: 3px inset red;
  }

  </style>

  <script src="//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: