In jQuery, “ancestors” refer to the elements that are higher up in the HTML document’s DOM (Document Object Model) tree and contain the selected element. In other words, they are the parent, grandparents, and all the way up to the root of the selected element.
jQuery provides several methods to select and work with ancestors:
- .parent() : This method selects the direct parent of the matched element. It only selects one level up in the DOM tree.
- .parents() : This method selects all ancestors of the matched element up to the document root. It includes all the parent, grandparent, great-grandparent elements, and so on.
- .parentsUntil() : This method selects all ancestors of the matched element up to, but not including, a specified element in the DOM tree.
Here’s an example HTML structure for reference:
<div id="grandparent"> <div id="parent"> <div id="child"> <!-- Selected element --> </div> </div> </div>
And here’s how you can use jQuery’s ancestor methods:
// .parent() $("#child").parent(); // This will select the parent div with id "parent" // .parents() $("#child").parents(); // This will select all ancestors: div#parent and div#grandparent // .parentsUntil() $("#child").parentsUntil("#grandparent"); // This will select div#parent only
Keep in mind that the selected elements are returned in the order they appear in the DOM tree, so the closest ancestor will appear first, and then the ancestors at higher levels. Also, if the selector matches multiple elements, the ancestor methods will return multiple elements as well, allowing you to work with each of them as needed.