:has() Selector

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

.has(selector)

selector SelectorAny selector.

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

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

JS
<div><p>Hello in a paragraph</p></div>
<div>Hello again! (with no paragraph)</div>
CSS
.test {
  border: 3px inset red;
}
HTML
$("div:has(p)").addClass("test");
DEMO

Looking for a Web Developer?

👋

Hi! I'm Basti, author of this site. If you are looking for a web developer with 15+ years of experience, holla at me!

Be it the good 'ol jQuery, vanilla JS or modern frameworks like Vue and Svelte, front- or backend, I can help you.

Just write me at jobs@jqapi.com :)