jQuery parentsUntil() 方法

2025年3月17日 | 阅读 3 分钟

parentsUntil() 方法是 jQuery 的内置方法。它用于获取 **`selector`** 和 **`stop`** 之间的所有祖先元素。此方法从父元素及其祖先向上遍历。

如果未提供 **`selector`** 或未匹配,则 **parentsUntil()** 方法将返回所有选定的祖先元素,类似于 parents() 方法

语法

上述语法中的 **`selector`** 是起始元素。它可以是标签名、类名或元素的 id。 **parentsUntil()** 方法接受两个可选参数,定义如下 -

stop:这是一个可选参数。它可以是一个选择器表达式、一个 jQuery 对象或一个元素,指示在参数 **`selector`** 和 **`stop`** 之间停止搜索的位置。

filter:这也是一个可选参数。它是一个选择器表达式,用于缩小祖先元素的搜索范围。如果我们要获取多个祖先元素,必须用逗号分隔表达式。

让我们通过一些示例来理解 **parentsUntil()** 方法。

示例 1

在此示例中,我们没有使用 **parentsUntil()** 方法的可选参数。这里有一个 div 元素,其中包含一个 ul 元素、一个标题 h2 和一个 段落元素

我们正在应用 **parentsUntil()** 方法来搜索标题 h2 的祖先。由于我们没有传递任何元素来停止搜索,因此该方法将返回给定选择器的所有祖先,包括 body 元素。

立即测试

输出

执行上述代码后,输出将是 -

jQuery parentsUntil() method

单击给定按钮后,输出将是 -

jQuery parentsUntil() method

示例 2

在此示例中,我们使用了 **parentsUntil()** 方法的两个可选参数。我们将 **p** 作为 **`selector`**,**#div1** 作为 **`stop`** 参数,**div ul** 作为 **`filter`** 参数的值。该方法将返回在 **id = "div1"** 的 div 元素之前出现的段落 **p** 的 **div** 和 **ul** 祖先。

我们指定了用逗号分隔的 **`filter`** 参数的两个值。

立即测试

输出

执行上述代码后,输出将是 -

jQuery parentsUntil() method

单击给定按钮后,在 **id = "div1"** 的 **div** 之前出现的 **p** 的 **div** 和 **ul** 祖先将被选中,如下面的屏幕截图所示。单击给定按钮后,输出将是 -

jQuery parentsUntil() method