jQuery closest() 方法
2016-09-19 14:01
204 查看
closest() 方法返回被选元素的第一个祖先元素。
祖先是父、祖父、曾祖父,依此类推。
DOM 树:该方法从当前元素向上遍历,直至文档根元素的所有路径(<html>),来查找 DOM 元素的第一个祖先元素。
该方法与 parents() 类似,都是向上遍历 DOM 树,不同点是:
closest()
从当前元素开始,沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先,返回包含零个或一个元素的 jQuery 对象
parents()
从父元素开始,沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先。
返回包含零个、一个或多个元素的 jQuery 对象
其他相关方法:
parent() - 返回被选元素的直接父元素
parentsUntil() - 返回两个给定参数之间的所有祖先元素
语法
返回被选元素的第一个祖先元素:
$(selector).closest(filter)
返回使用 DOM context 查找的 DOM 树中的第一个祖先元素:
$(selector).closest(filter,context)
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
.ancestors *{
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="http://cdn.static.runoob.com/libs/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>
祖先是父、祖父、曾祖父,依此类推。
DOM 树:该方法从当前元素向上遍历,直至文档根元素的所有路径(<html>),来查找 DOM 元素的第一个祖先元素。
该方法与 parents() 类似,都是向上遍历 DOM 树,不同点是:
closest()
从当前元素开始,沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先,返回包含零个或一个元素的 jQuery 对象
parents()
从父元素开始,沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先。
返回包含零个、一个或多个元素的 jQuery 对象
其他相关方法:
parent() - 返回被选元素的直接父元素
parentsUntil() - 返回两个给定参数之间的所有祖先元素
语法
返回被选元素的第一个祖先元素:
$(selector).closest(filter)
返回使用 DOM context 查找的 DOM 树中的第一个祖先元素:
$(selector).closest(filter,context)
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
.ancestors *{
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="http://cdn.static.runoob.com/libs/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>
相关文章推荐
- jquery closest方法
- jquery closest()方法
- Visual C++6.0一个小BUG的解决方法
- VB与VC混合编程中处理消息的方法
- 解决BoundsChecker和VC打架的方法
- 软件开发方法述评
- 在Visual Studio 6.0集成环境中开发设备驱动程序的方法
- VC++中播放声音的方法 作者:李灿伟
- 关于Delphi中预编译指令的使用方法
- 增加在ClassWizard中没有罗列事件的处理方法
- 在VC下显示JPEG、GIF格式图像的一种简便方法
- 9x下通过执行文件名获得进程ID的方法
- 学汇编的方法
- Delphi5 企业版使用BDE访问 Oracle方法
- C++中建立对象间消息连接的一种系统方法
- SCI软件使用方法总结-定位测量篇
- [导入]解决BoundsChecker和VC打架的方法
- OICQ 99c版本加密方法研究报告
- 在Javascript中为String对象添加trim,ltrim,rtrim方法
- 用VC 6.0实现串行通信的三种方法