jQuery parentsUntil() 方法是一个内置的 jQuery 方法。它用于搜索指定元素的父元素直到xx元素停止的所有元素。
如果 selector 未提供或不匹配,则 parentsUntil() 方法将返回所有选定的祖先元素,类似于 parents() 方法。
语法
$(selector).parentsUntil(stop,filter)
参数
stop: 这是一个可选参数。它可以是选择器表达式、jQuery 对象或指示在参数 selector 和 stop。
filter: 这也是一个可选参数。它是缩小祖先搜索范围的选择器表达式。如果我们想得到多个祖先,我们必须用逗号分隔表达式。
例子
例1
没有参数,返回所有的父元素。
<!DOCTYPE html>
<html>
<head>
<style>
.main *{
border: 2px solid black;
padding: 10px;
margin: 15px;
}
</style>
<script src = "https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
function fun(){
$(document).ready(function(){
$("p").parentsUntil().css({ "color": "blue", "border": "3px dashed blue"});
});
}
</script>
</head>
<body class = "main"> body
<div> div
<ul> ul
<h2> h2
<p> p </p>
</h2>
</ul>
</div>
<button onclick = "fun()"> 点击看看 </button>
</body>
</html>
例2
有参数的例子
<!DOCTYPE html>
<html>
<head>
<style>
.main *{
border: 2px solid black;
padding: 10px;
margin: 15px;
}
</style>
<script src = "https://code.jquery.com/jquery-3.5.1.min.js"> </script>
<script>
function fun(){
$(document).ready(function(){
$("p").parentsUntil("#div1", "div, ul").css({ "border": "3px dashed blue"});
});
}
</script>
</head>
<body class = "main"> body
<div id = "div1"> div1
<ul> ul
<div id = "div2"> div2
<h4> h4
<div id = "div3"> div3
<p> p </p>
</div>
</h4>
</div>
</ul>
</div>
<button onclick = "fun()"> 点击看看 </button>
</body>
</html>