所属分类:web前端开发
在jquery中,closest方法用于返回被选元素的第一个祖先元素;该函数可从元素本身开始逐级向上匹配,并且返回最先匹配的元素,若没有匹配到则返回一个空的jQuery对象,语法为“元素对象.closest(匹配元素的选择器表达式)”。
前端(vue)入门到精通课程:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows10系统、jquery3.2.1版本、Dell G3电脑。
closest() 方法返回被选元素的第一个祖先元素。
祖先是父、祖父、曾祖父,依此类推。
从当前元素开始,沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先,返回包含零个或一个元素的 jQuery 对象
closest()函数会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。
语法为:
返回被选元素的第一个祖先元素:
$(selector).closest(filter)
登录后复制
返回使用 DOM context 查找的 DOM 树中的第一个祖先元素:
$(selector).closest(filter,context)
登录后复制
filter 必需。规定缩小搜索祖先元素范围的选择器表达式、元素或 jQuery 对象。
context 可选。在其内可以找到匹配元素的 DOM 元素。
示例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>123</title>
<style>
.ancestors *{
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="js/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视频教程
以上就是jquery中closest方法怎么用的详细内容,更多请关注zzsucai.com其它相关文章!