小白教程
所有教程
关于
Search
172.70.127.144
172.70.127.144
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Traversing closest”的源代码
本页内容
上一节:
Traversing_children
下一节:
Traversing_contents
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:closest()}}[[Category:jquery ref traversing|3]] = jQuery closest() 方法 = [[jquery ref traversing|jQuery 遍历方法]] 返回 <span> 的第一个祖先元素,是一个 <ul> 元素: <sample title="" desc="" lang="html" hererun="1"> $(document).ready(function(){ $("span").closest("ul").css({"color":"red","border":"2px solid red"}); }); </sample> <run name=""> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>小白教程(xiaobai.wang)</title> <style> .ancestors *{ display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://cdn.staticfile.org/jquery/1.10.2/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> <!-- 在这个例子中, $("span").closest("ul") 指我们查找一个span元素的第一个ul祖先。最靠近span的祖先是li,但是由于查到一个div,jQuery 跳过li元素继续查找下一个祖先,直到它找出我们要查找的ul.假如我们用parents() 方法替代,它将返回ul的祖先 。 --> </html> </run> == 定义和用法 == closest() 方法返回被选元素的第一个祖先元素。 祖先是父、祖父、曾祖父,依此类推。 '''DOM 树:'''该方法从当前元素向上遍历,直至文档根元素的所有路径(<html>),来查找 DOM 元素的第一个祖先元素。 该方法与 [[traversing parents|parents()]] 类似,都是向上遍历 DOM 树,不同点是: '''closest()''' * 从当前元素开始 * 沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先 * 返回包含零个或一个元素的 jQuery 对象 '''parents()''' * 从父元素开始 * 沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先 * 返回包含零个、一个或多个元素的 jQuery 对象 '''其他相关方法:''' * [[traversing parent|parent()]] - 返回被选元素的直接父元素 * [[traversing parentsuntil|parentsUntil()]] - 返回两个给定参数之间的所有祖先元素 == 语法 == 返回被选元素的第一个祖先元素: <pre> $(selector).closest(filter)</pre> 返回使用 DOM context 查找的 DOM 树中的第一个祖先元素: <pre> $(selector).closest(filter,context)</pre> {| class="table table-striped table-hover" ! 参数 ! 描述 |- | filter | 必需。规定缩小搜索祖先元素范围的选择器表达式、元素或 jQuery 对象。 |- | context | 可选。在其内可以找到匹配元素的 DOM 元素。 |} == 更多实例 == [[try.php?filename=tryjquery_traversing_closest2|返回 <span> 的第一个祖先元素,是一个 <span> 元素]] 因为该方法从当前元素开始,搜索 <span> 的第一个 <span>,将返回 <span>。 [[try.php?filename=tryjquery_traversing_closest_dom|在 DOM 元素中作为 context 进行传递,以便搜索第一个祖先元素]] 使用两个参数在 DOM 元素中作为 context 进行传递,以便搜索第一个 <ul> 元素。 [[jquery ref traversing|jQuery 遍历方法]]
返回至“
Traversing closest
”。
上一节:
Traversing_children
下一节:
Traversing_contents