Contains element (:has(E))

In this chapter you will learn:

  1. Description and Syntax for contains element selector
  2. Examples for contains element selector
  3. How to select div element with paragraph inside

Description and Syntax

$('p:has(E)')

selects all elements that contain an element matching E.

Examples

  • $('p:has(img)') selects all <p> elements that contain an <img> element as a descendant
  • $('.myclass:has(#myid)') selects all elements with the class myclass that contain a descendant with ID myid
  • $('p:has(img)') matches the <p> element in the following HTML code:
<div id="container">//from  j  a va 2s .  co  m
 <div id="inner">
 <p>
 <span><img src="example.jpg" alt="" /></span>
 </p>
 </div>
</div>

The following code marks table row which has table data.

<html><!--  j  a  va 2 s  . c o  m-->
  <head>
    <script src="http://java2s.com/style/jquery-1.8.0.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
               
            $("tr:has(td)").css("color","red");
        });
    </script>

  </head>
  <body>
    <body>
    <table>
        <tr><td>First</td></tr>
        <tr><td>java2s.com</td></tr>
        <tr><td>java2s.com</td></tr>
    </table>


    </body>
</html>

Click to view the demo

Select div with paragraph element

Select if DIV has paragraph tag.

<html><!--from j a  v a 2  s. c  o  m-->
  <head>
    <style>
      .test{ border: 1px solid red; }
    </style>
    <script src="http://java2s.com/style/jquery-1.8.0.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
         $("div:has(p)").addClass("test");
    });
    </script>
  </head>
  <body>
      <div><p>paragraph in div</p></div>
      <div>div</div>
  </body>
</html>

Click to view the demo

Next chapter...

What you will learn in the next chapter:

  1. Description and Syntax for visible selector
  2. Examples for visible selector
Home » jQuery » jQuery Selector
Selector syntax
ID
Tag Name
Class Name
Descendant $('E F')
Child (E > F)
General sibling (E ~ F)
Multiple expressions (E, F, G)
Universal (*)
Filtering by Relationships
Numbered child (:nth-child(n/even/odd/expr))
First child (:first-child)
Last child (:last-child)
Only child (:only-child)
Not (:not(E))
Empty (:empty)
Attribute selectors
Attribute existence([attr])
Attribute equals ([foo=bar])
Attribute not equal ([foo!=bar])
Attribute begins with ([foo^=bar])
Attribute ends with ([foo$=bar])
Attribute contains ([foo*=bar])
Attribute contains word ([foo~=bar])
Attribute contains prefix ([foo|=bar])
Attribute exists $("[attributeName*='value']")
Form selector
Form input selector (:input)
Form text fields (input:text)
Form Password field (input:password)
Form Radio button (input:radio)
Form Checkbox (input:checkbox)
Form Submit button (input:submit)
Form Image button (input:image)
Form Reset button (input:reset)
Form button (input:button)
Form File upload (input:file)
Form Enabled form element (input:enabled)
Form Disabled form element (input:disabled)
Form Checked box (input:checked)
Form Selected option (input:selected)
Element at index (:eq(n))
Greater than (:gt(n))
Less than (:lt(n))
First (:first)
Last (:last)
Even element (:even)
Odd element (:odd)
parent (:parent)
Contains text (:contains(text))
Contains element (:has(E))
Visible (:visible)
Hidden (:hidden)
Header element (:header)
Currently animating (:animated)
$(this) selector
Custom User Selectors
Escape characters