:has()S2C Home « Selectors « :has()

Has Element selector.

Shorthand version $(':has(selector)')

Description

The :has() selector, selects elements containing at least one element matching the specified selector.

  • The selector can appear in the specified element and/or descendants thereof.
  • If this selector is not preceded by another selector, the universal selector ("*") is implied and so the whole DOM will be searched. Use another selector as in the examples below to narrow the search and improve performance.
  • The same results can be achieved with better performance using $("cssSelector").has(selector/DOMElement).

Syntax

Signature Description
jQuery(':has(selector)')Has Element match

Parameters

Parameter Description
selectorA valid selector.

Return

N/A.

:has() ExampleTop

Selects elements containing at least one element matching the specified selector.

The following example will check for 'p' elements on the page that have 'input' elements within them and apply an orange background when the button below is clicked (areas surronding input buttons).


$(function(){
  $('#btn1').on('click', function() {
    $("p:has(input)").css('backgroundColor', 'orange');
  });
}); 

Press the button below to action the above code:


The following example will check for 'p' elements on the page that have 'input' elements within them and apply an orange background when the button below is clicked (code).


$(function(){
  $('#btn2').on('click', function() {
    $("b:has(span)").css('backgroundColor', 'yellow');
  });
}); 

Press the button below to action the above code:


The following example will check for 'p' elements on the page that have 'input' elements within them and apply an orange background when the button below is clicked (h4 spans in leftsidebar).


$(function(){
  $('#btn3').on('click', function() {
    $("h4:has(span)").css('backgroundColor', 'silver');
  });
}); 

Press the button below to action the above code:


jQuery 3.5 Basics

jQuery 3.5 Intermediate

jQuery 3.5 Advanced

jQuery 3.5 Reference

API by Function

API Alphabetically

Ajax

Attributes & Properties

Core & Internals

DOM Element Methods

Effects

Events

Filtering

Manipulation

Objects

Selectors

Attribute

Attribute Contains Prefix Selector

Attribute Contains Selector

Attribute Contains Word Selector

Attribute Ends With Selector

Attribute Equals Selector

Attribute Not Equal Selector

Attribute Starts With Selector

Has Attribute Selector

Multiple Attribute Selector

Basic

All Selector ('*')

Class Selector ('.class')

Element Selector

ID Selector ('#id')

Multiple Selector

Basic Filter

:animated Selector

:eq() Selector

:even Selector

:first Selector

:gt() Selector

:header Selector

:lang Selector

:last Selector

:lt() Selector

:not() Selector

:odd Selector

:root Selector

:target Selector

Child Filter

:first-child Selector

:first-of-type Selector

:last-child Selector

:last-of-type Selector

:nth-child() Selector

:nth-last-child() Selector

:nth-last-of-type() Selector

:nth-of-type() Selector

:only-child Selector

:only-of-type Selector

Content Filter

:contains() Selector

:empty Selector

:has Selector

:parent Selector

Form

:button Selector

:checkbox Selector

:checked Selector

:disabled Selector

:enabled Selector

:file Selector

:focus Selector

:image Selector

:input Selector

:password Selector

:radio Selector

:reset Selector

:selected Selector

:submit Selector

:text Selector

Hierarchy

Child Selector

Descendant Selector

Next Adjacent Selector

Next Siblings Selector

Visibility Filter

:hidden Selector

:visible Selector

Traversal

Utilities