Skip to main content
Cypress应用

parentsUntil

获取匹配DOM元素集合中每个DOM元素的所有祖先元素,直到但不包括提供的元素。

info

该命令的查询行为与jQuery中的 .parentsUntil()完全一致。

语法

.parentsUntil(selector)
.parentsUntil(selector, filter)
.parentsUntil(selector, filter, options)
.parentsUntil(element)
.parentsUntil(element, filter)
.parentsUntil(element, filter, options)

用法

正确用法

cy.get('p').parentsUntil('.article') // 获取'p'元素的祖先直到'.article'

错误用法

cy.parentsUntil() // 错误,不能直接链式调用'cy'
cy.clock().parentsUntil('href') // 错误,'clock'不返回DOM元素

参数

selector (字符串选择器)

停止查找祖先元素的选择器。

element (DOM节点, jQuery对象)

停止查找祖先元素的DOM节点。

filter (字符串选择器)

用于过滤匹配DOM元素的选择器。

options (对象)

传入选项对象以改变.parentsUntil()的默认行为。

选项默认值描述
logtrue命令日志中显示该命令
timeoutdefaultCommandTimeout等待.parentsUntil()解析的超时时间,超过则超时

生成结果 了解主题管理

  • .parentsUntil()返回找到的新DOM元素。
  • .parentsUntil()是一个查询命令,可以安全地链式调用其他命令。

示例

选择器

查找.active元素的所有祖先直到.nav

<ul class="nav">
<li>
<a href="#">衣服</a>
<ul class="menu">
<li>
<a href="/shirts">衬衫</a>
</li>
<li class="active">
<a href="/pants">裤子</a>
</li>
</ul>
</li>
</ul>
// 返回 [ul.menu, li]
cy.get('.active').parentsUntil('.nav')

规则

要求 了解命令链

  • .parentsUntil()必须链式调用自返回DOM元素的命令。

断言 了解断言

超时设置 了解超时机制

  • .parentsUntil()可能因等待元素 存在于DOM中而超时。
  • .parentsUntil()可能因等待添加的断言通过而超时。

命令日志

查找active元素的所有祖先直到.nav

cy.get('.active').parentsUntil('.nav')

以上命令将在命令日志中显示为:

命令日志 parentsUntil

当点击命令日志中的parentsUntil时,控制台将输出以下内容:

控制台日志 parentsUntil

另请参阅