jQuery closest() 方法
-
定义和用法
closest() 方法返回被选元素的第一个祖先元素。祖先是父、祖父、曾祖父,依此类推。DOM 树:该方法从当前元素向上遍历,直至文档根元素的所有路径(),来查找 DOM 元素的第一个祖先元素。该方法与 parents() 类似,都是向上遍历 DOM 树,不同点是:closest()- 从当前元素开始
- 沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先
- 返回包含零个或一个元素的 jQuery 对象
parents()- 从父元素开始
- 沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先
- 返回包含零个、一个或多个元素的 jQuery 对象
-
语法
返回被选元素的第一个祖先元素:$(selector).closest(filter)返回使用 DOM context 查找的 DOM 树中的第一个祖先元素:$(selector).closest(filter,context) -
参数
参数 必需的 描述 filter 是 规定缩小搜索祖先元素范围的选择器表达式、元素或 jQuery 对象。 context 否 在其内可以找到匹配元素的 DOM 元素。 -
实例
下例演示了返回 <span> 的第一个祖先元素,是一个 <ul> 元素:
尝试一下<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>欢迎来到菜鸟教程</title> <style> .ancestors *{ display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> //此版本是百度cdn 1.11.1,当然你可以使用更高的版本,从2.0版本以上的是不支持ie6-8的 <script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script> <script> $(document).ready(function () { $("span").closest("ul").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>
-
相关方法
- parent() - 返回被选元素的直接父元素
- parentsUntil() - 返回两个给定参数之间的所有祖先元素
-