Numbered child (:nth-child(n/even/odd/expr))

Syntax

$(':nth-child(n/even/odd/expr)')

Description

Select all elements that are the nth child of their parent.

Examples

SelectorSelects
$('li:nth-child(2)')all <li> elements that are the second child of their parent
$('p:nth-child(odd)')all <p> elements that are an odd-numbered child of their parent (first, third, fifth, and so on)
$('.myclass:nth-child(3n+2)')all elements with the class myclass that are the (3n+2)th child of their parent (second, fifth, eighth, and so on)

Given the following HTML code:

 
<div>
 <h2></h2>
 <p></p>
 <h2></h2>
 <p></p>
 <p></p>
</div>
  
  • $('p:nth(1)') selects the second <p> because numbering for :nth(n) starts with 0
  • $('p:nth-child(1)') selects nothing because there is no <p> element that is the first child of its parent
  • $('p:nth(2)') selects the third <p>
  • $('p:nth-child(2)') selects the first <p> because it is the second child of its parent

:nth-child(n) can take even or odd.

For

 
<div>
 <h2></h2>
 <p></p>
 <h2></h2>
 <p></p>
 <p></p>
</div>
  

$('p:nth-child(even)') selects the first and third <p> because they are children 2 and 4 (both even numbers) of their parent.

 
<html>
  <head>
    <script src="http://java2s.com/Book/JavaScriptDemo/jQuery/jquery-1.8.0.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
                $("ul li:nth-child(2)").append("<span> - 2nd!</span>");
        });
    </script>
  </head>
  <body>
    <body>
      <div>
        <ul>
            <li>A</li>
            <li>B</li>
            <li>C</li>
        </ul>
      </div>
      <div>
        <ul>
            <li>D</li>
            <li>E</li>
            <li>F</li>
            <li>G</li>
            
        </ul>
      </div>
      <div>
        <ul>
            <li>H</li>
            <li>I</li>
            <li>J</li>
            <li>K</li>
        </ul>
      </div>

    </body>
</html>
  
Click to view the demo
Home 
  JavaScript Book 
    jQuery  

Selector:
  1. jQuery Selector
  2. DOM Element Selection
  3. Filter Selectors
  4. Selecting by Position
  5. Filtering by Content
  6. Filtering by Relationships
  7. Escape characters
  8. ID attribute
  9. Tag Name
  10. Class Name
  11. Descendant
  12. Child (E > F)
  13. General sibling (E ~ F)
  14. Multiple expressions (E, F, G)
  15. Universal (*)
  16. Numbered child (:nth-child(n/even/odd/expr))
  17. First child (:first-child)
  18. Last child (:last-child)
  19. Only child (:only-child)
  20. Not (:not(E))
  21. Empty (:empty)
  22. Attribute selectors
  23. Attribute ([attr])
  24. Attribute equals ([foo=bar])
  25. Attribute does not equal ([foo!=bar])
  26. Attribute begins with ([foo^=bar])
  27. Attribute ends with ([foo$=bar])
  28. Attribute contains ([foo*=bar])
  29. Attribute contains word ([foo~=bar])
  30. Attribute contains prefix ([foo|=bar])
  31. Attribute exists $("[attributeName*='value']");
  32. Form selectors (:input)
  33. Form text fields (input:text)
  34. Form Password field (input:password)
  35. Form Radio button (input:radio)
  36. Form Checkbox (input:checkbox)
  37. Form Submit button (input:submit)
  38. Form Image button (input:image)
  39. Form Reset button (input:reset)
  40. Form button (input:button)
  41. Form File upload (input:file)
  42. Form Enabled form element (input:enabled)
  43. Form Disabled form element (input:disabled)
  44. Form Checked box (input:checked)
  45. Form Selected option (input:selected)
  46. Element at index (:eq(n))
  47. Greater than (:gt(n))
  48. Less than (:lt(n))
  49. First (:first)
  50. Last (:last)
  51. Even element (:even)
  52. Odd element (:odd)
  53. Is parent (:parent)
  54. Contains text (:contains(text))
  55. Contains element (:has(E))
  56. Visible (:visible)
  57. Hidden (:hidden)
  58. Header element (:header)
  59. Currently animating (:animated)
  60. $(this)
  61. Custom User Selectors