$.closest()

返回被选元素的第一个祖先元素:
$(selector).closest(filter)

返回使用 DOM context 查找的 DOM 树中的第一个祖先元素:
context: 上下文, 语境, 范围
$(selector).closest(filter,context)

filter 必需。规定缩小搜索祖先元素范围的选择器表达式、元素或 jQuery 对象
context 可选。在其内可以找到匹配元素的 DOM 元素


closest()
从当前元素开始
沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先
返回包含零个或一个元素的 jQuery 对象
沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止
参数不能为空

parents()
从父元素开始
沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先
返回包含零个、一个或多个元素的 jQuery 对象
沿 DOM 树向上遍历,直到文档的根元素为止,将每个祖先元素添加到一个临时的集合;如果应用了选择器,则会基于该选择器对这个集合进行筛选
参数可以为空

 


 

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

	<head>
		<meta http-equiv="Cache-Control" CONTENT="no-cache" />
		<meta http-equiv="Pragma" CONTENT="no-cache" />
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>$.closest() 的简单例子</title>
		<style type="text/css">
			li { margin: 3px; padding: 3px; background: #EEEEEE; }
			.hilight { background: yellow; }
		</style>
	</head>

	<body>

		<ul id="one" class="level-1">
			<li class="item-i">I</li>
			<li id="ii" class="item-ii">II
				<ul class="level-2">
					<li class="item-a">A</li>
					<li class="item-b">B
						<ul class="level-3">
							<li class="item-1">我们可以传递 DOM 元素作为 context,在其中搜索最接近的元素</li>
							<li class="item-2">context: 上下文, 语境, 范围</li>
							<li class="item-3">.closest('ul', context)</li>
						</ul>
					</li>
					<li class="item-c">C</li>
				</ul>
			</li>
			<li class="item-iii">III</li>
		</ul>

	</body>

	<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
	<script type="text/javascript" th:inline="javascript">
		$(document).bind("click", function(e) {
			$(e.target).closest("li").toggleClass("hilight");
		});

		var listItemII = document.getElementById('ii');
		$('li.item-a').closest('ul', listItemII).css('background-color', 'red');
		$('li.item-a').closest('#one', listItemII).css('background-color', 'green');
	</script>

</html>

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值