jQuery Child Selectors

jQuery provides several ways to select child elements within a parent element. These selectors allow you to target specific elements based on their relationship to other elements in the DOM. Understanding child selectors is essential for DOM traversal and manipulation.

Common jQuery Child Selectors:

1. Direct Child Selector (parent > child)

The direct child selector allows you to select child elements that are immediate children of a specified parent element.

$("parent > child").action();

Try It Now

Example:

$("ul > li").css("color", "red");  // Selects all <li> elements that are direct children of <ul> and changes their color to red

Try It Now

  • parent: The parent element.
  • child: The direct child element.

2. :first-child Selector

The :first-child selector allows you to select the first child of a parent element.

$("parent > :first-child").action();

Try It Now

Example:

$("ul > li:first-child").css("font-weight", "bold");  // Selects the first <li> child inside <ul> and makes the font bold

Try It Now

3. :last-child Selector

The :last-child selector allows you to select the last child of a parent element.

$("parent > :last-child").action();

Try It Now

Example:

$("ul > li:last-child").css("font-size", "20px");  // Selects the last <li> child inside <ul> and changes its font size

Try It Now

4. :nth-child(n) Selector

The :nth-child(n) selector allows you to select n-th child of a parent element, where n is a number or a formula. This is useful for selecting a specific child based on its position.

$("parent > :nth-child(n)").action();

Try It Now

Example:

$("ul > li:nth-child(2)").css("background-color", "yellow");  // Selects the second <li> child inside <ul> and changes its background color

Try It Now

  • n: A number or formula (e.g., 2, odd, even, 3n+1).
    • odd: Selects odd-numbered children (1st, 3rd, 5th, etc.).
    • even: Selects even-numbered children (2nd, 4th, 6th, etc.).
    • 3n+1: Selects every 3rd child, starting with the 1st.

5. :nth-of-type(n) Selector

The :nth-of-type(n) selector is similar to :nth-child(n), but it selects the n-th child of a specific type (e.g., <p>, <div>, etc.) rather than any child element.

$("parent > :nth-of-type(n)").action();

Try It Now

Example:

$("ul > li:nth-of-type(2)").css("font-size", "18px");  // Selects the second <li> element of its type (among all <li>s) inside <ul> and changes its font size

Try It Now

6. :only-child Selector

The :only-child selector selects elements that are the only child of their parent.

$("parent > :only-child").action();

Try It Now

Example:

$("div > p:only-child").css("text-align", "center");  // Selects the only <p> child inside <div> and aligns its text to the center

Try It Now

7. :not(:first-child) and :not(:last-child)

You can also use the :not() selector in combination with :first-child and :last-child to select all children except the first or last child.

$("parent > :not(:first-child)").action();

Try It Now

Example:

$("ul > li:not(:first-child)").css("background-color", "lightgray");  // Selects all <li> elements except the first one and changes their background color

Try It Now

Chaining Child Selectors:

You can combine different child selectors to refine your selection further.

$("div > p:nth-of-type(2)").css("font-size", "14px");

Try It Now

Example:

$("div > p:nth-of-type(2)").css("font-size", "14px").css("color", "red");  // Selects the second <p> inside each <div>

Try It Now

Use Cases for Child Selectors:

  • Target Specific Elements in a List: For example, styling the first or last list item, or only styling odd/even items.
  • Apply Styles Based on Element Type: Target specific types of elements like <p>, <div>, <span>, etc., inside a parent container.
  • Refine Selection for Animation or Interaction: Apply effects or handle events only for specific child elements.