Quick Reference
The :nth-last-child() selector selects all specified elements that are the nth child of their parent, regardless of all the children’s types, counting from the end.
What this means is that the counting of the child elements does not take into account the type of element. If, counting backward in the parent element, from the last child, the last child was an img, the second from last an h2, and then the p. The paragraph is the third child from the last.
So in the example below, we are looking for each second child of the parent, counting from the last, and if it’s a paragraph, we are selecting it.
// selects every HTML paragraph that is the second child of its parent counting from the last child
$('p:nth-last-child(2)')
Parameters
Parameter | Description |
---|---|
n | The index of each child to match; must be a number and first element will have the index number 1 not zero) |
even | Selects each even child element |
odd | Selects each odd child element |
formula | Specifies which child element(s) to be selected with a formula (an + b - example: p:nth-child(3n+2) selects each 3rd paragraph, starting at the 2nd child element) |
Additional Info
Selecting Multiple Elements
To select multiple HTML elements with varying ids and classes, separate them with commas. The following will select 4 different elements based on their ID, class, or tag.
$('#intro, #footer, .my_paragraphs, h3')
Increasing Specificity
To be more specific when selecting an HTML element, you can refer to the element and an ancestor element.
// all .child elements that live within a .father element
$('.father .child')
// all h1 tags that live within a .father element
$('.father h1')
Notice that there is no comma between the classes (but there is a space), which says you are targeting the class .child and it must have an ancestor with the class .father, as shown in the first example. You can include as many ancestors as necessary to be as specific as necessary.
// all p tags that live within a .child element that lives within a .father element
$('.father .child p')
jQuery Notes:
- To use jQuery on your site, it must first be downloaded from the official jQuery site and linked to in your document <head>, or linked to via a CDN in your document <head>
- It is generally good practice to place your jQuery code/function inside the document load function so that the action takes place ONLY after the document has finished loading
- When using jQuery, single or double quotation marks are acceptable and work identically to one another; choose whichever you prefer, and stay consistent
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.