4 methods: 1. parent(), you can find the "parent element" of the current element, the syntax is "$(selector).parent(expression)"; 2. parents(), you can find all Select the ancestor elements of the element, the syntax is "$(selector).parents(expression)"; 3. parentsUntil(), which can find all ancestor elements in the specified range, the syntax is "$(selector).parentsUntil(expression)" ; 4. closest(), the first ancestor element of the selected element.
The operating environment of this tutorial: windows7 system, jquery3.6.1 version, Dell G3 computer.
jquery method of finding parents
parent()
parents()
parentsUntil()
closest()
Method 1: parent()
In jQuery, we can use the parent() method to find the "parent element" of the current element. Remember, elements have only one parent.
Syntax:
$(selector).parent(expression)
Description: The parameter expression represents the jQuery selector expression, used to filter parent elements. When the parameter is omitted, all parent elements are selected. If the parameter is not omitted, the parent element that meets the conditions is selected.
Don’t the elements have only one parent element? Why is there still such a thing as "eligible parent element"? For this, take a look at the following example.
Example:
<!DOCTYPE html> <html> <head> <script src="js/jquery-3.6.1.min.js"></script> <script type="text/javascript"> $(function() { $("p").parent(".lvye").css("color", "red"); }) </script> </head> <body> <div> <p>php中文网jQuery入门教程</p> </div> <div class="lvye"> <p>php中文网jQuery入门教程</p> </div> <div> <p>php中文网jQuery入门教程</p> </div> </body> </html>
The effect is as follows:
##Method 2: parents()
The parents() method is similar to the parent() method, both are used to find the ancestor elements of the selected element. But these two methods also have essential differences. In fact, these two methods are also easy to distinguish. parent is in singular form, and there is only one ancestor element to be searched for, which is the parent element. Parents is a plural form, and the ancestor elements to be searched are of course all ancestor elements. Syntax:$(selector).parents(expression)
<!DOCTYPE html> <html> <head> <script src="js/jquery-3.6.1.min.js"></script> <script type="text/javascript"> $(function() { $("#btn").click(function() { var parents = $("span").parents() .map(function() { return this.tagName; }) .get().join(","); alert("span元素的所有祖先元素为:" + parents.toLowerCase()); }); }) </script> </head> <body> <div> <p><strong><span>jQuery入门教程</span></strong></p> </div> <input id="btn" type="button" value="获取" /> </body> </html>
parentsUntil() method is a supplement to the parents() method. It can find all ancestor elements in the specified range, which is equivalent to intercepting some ancestor elements from the collection returned by the parents() method.
Syntax:
$(selector).parentsUntil(expression)
Description: The parameter expression represents the jQuery selector expression string, used to filter ancestor elements. When the argument is omitted, all ancestor elements are selected. If the parameter is not omitted, the ancestor element that meets the conditions is selected.
The parameter selector represents the jQuery selector expression string, used to determine the ancestor elements of the range. This parameter is optional. If omitted, all ancestor elements will be matched, which is the same as the results of the parents() method.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors *{ display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="js/jquery-3.6.1.min.js"></script> <script> $(document).ready(function(){ $("span").parentsUntil("div").css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors"> body (曾曾祖父节点) <div style="width:500px;">div (曾祖父节点) <ul>ul (祖父节点) <li>li (直接父节点) <span>span</span> </li> </ul> </div> </body> <!-- 在这个例子中,我们选择在span和div元素之间的所有祖先元素。 --> </html>
closest() method returns the first ancestor element of the selected element.
$(selector).closest(expression)
Example: Returns the th of A parent element is a
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors *{ display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="js/jquery-3.6.1.min.js"></script> <script> $(document).ready(function(){ $("span").closest("li").css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors">body (曾曾祖先节点) <div style="width:500px;">div (曾祖先节点) <ul>ul (第二祖先 - 第二祖先节点) <ul>ul (第一祖先 - 第一祖先节点) <li>li (直接父节点) <span>span</span> </li> </ul> </ul> </div> </body> </html>
[Recommended learning:
javascript video tutorialThe above is the detailed content of What are the ways to find the parent in jquery?. For more information, please follow other related articles on the PHP Chinese website!