当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery .parentsUntil()用法及代码示例


用法
.parentsUntil(  [selector ] [, filter ] ) => jQuery

说明:获取当前匹配元素集合中每个元素的祖先,最多但不包括选择器、DOM节点或jQuery对象匹配的元素。

  • 添加的版本:1.4.parentsUntil( [selector ] [, filter ] )

    • selector
      类型:Selector
      一个包含选择器表达式的字符串,用于指示停止匹配祖先元素的位置。
    • filter
      类型:Selector
      一个字符串,包含一个选择器表达式来匹配元素。
  • 添加的版本:1.6.parentsUntil( [element ] [, filter ] )

    • element
      类型:ElementjQuery
      一个 DOM 节点或 jQuery 对象,指示停止匹配祖先元素的位置。
    • filter
      类型:Selector
      一个字符串,包含一个选择器表达式来匹配元素。

给定一个表示一组 DOM 元素的选择器表达式,.parentsUntil() 方法遍历这些元素的祖先,直到它到达与方法参数中传递的选择器匹配的元素。生成的 jQuery 对象包含所有祖先,但不包括由 .parentsUntil() 选择器匹配的那个。

如果选择器不匹配或未提供,则将选择所有祖先;在这些情况下,它选择的元素与没有提供选择器时 .parents() 方法所做的相同。

从 jQuery 1.6 开始,第一个 .parentsUntil() 参数可以使用 DOM 节点或 jQuery 对象,而不是选择器。

该方法可选地接受选择器表达式作为其第二个参数。如果提供了此参数,则将通过测试它们是否匹配来过滤元素。

例子:

找到 <li class="item-a"> 直到 <ul class="level-1"> 的祖先,并给它们一个红色的背景颜色。此外,找到 <li class="item-2"> 的祖先,其类为 "yes" 直到 <ul class="level-1"> 并给它们一个绿色边框。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>parentsUntil demo</title>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<ul class="level-1 yes">
  <li class="item-i">I</li>
  <li class="item-ii">II
    <ul class="level-2 yes">
      <li class="item-a">A</li>
      <li class="item-b">B
        <ul class="level-3">
          <li class="item-1">1</li>
          <li class="item-2">2</li>
          <li class="item-3">3</li>
        </ul>
      </li>
      <li class="item-c">C</li>
    </ul>
  </li>
  <li class="item-iii">III</li>
</ul>
 
<script>
$( "li.item-a" )
  .parentsUntil( ".level-1" )
    .css( "background-color", "red" );
 
$( "li.item-2" )
  .parentsUntil( $( "ul.level-1" ), ".yes" )
    .css( "border", "3px solid green" );
</script>
 
</body>
</html>

演示:

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .parentsUntil()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。