:has() JQ 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() Examples Selectors  <<  Top

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. Check the icons at the top and bottom of the page after clicking the button (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. Check the icons at the top and bottom of the page after clicking the button (h4 spans in leftsidebar).


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

Press the button below to action the above code:


Related Tutorials

jQuery Basic Tutorials - Lesson 4 - jQuery Selectors

jQuery Basics

jQuery Basics

jQuery Intermediate

jQuery Intermediate

jQuery Advanced

jQuery Advanced

jQuery Reference

API by Function Types

API Alphabetically

jQuery Glossary

Function Type

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