Skip to main content
Cypress应用

prevAll

获取一组匹配的DOM元素中每个DOM元素的所有前一个同级元素。

info

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

语法

.prevAll()
.prevAll(selector)
.prevAll(options)
.prevAll(selector, options)

用法

正确用法

cy.get('.active').prevAll() // 获取`.active`之前的所有链接

错误用法

cy.prevAll() // 错误,不能直接从'cy'链式调用
cy.getCookies().prevAll() // 错误,'getCookies'不返回DOM元素

参数

selector (字符串选择器)

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

options (对象)

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

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

生成结果 了解主题管理

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

示例

无参数

查找.third之前的所有同级元素

<ul>
<li>苹果</li>
<li>橙子</li>
<li class="third">香蕉</li>
<li>菠萝</li>
<li>葡萄</li>
</ul>
// 返回 [<li>苹果</li>, <li>橙子</li>]
cy.get('.third').prevAll()

选择器

查找每个li的所有前一个同级元素,仅保留带有selected类的元素

<ul>
<li>苹果</li>
<li>橙子</li>
<li>香蕉</li>
<li class="selected">菠萝</li>
<li>葡萄</li>
</ul>
// 返回 <li>菠萝</li>
cy.get('li').prevAll('.selected')

规则

要求 了解命令链

  • .prevAll()必须链式调用在返回DOM元素的命令之后。

断言 了解断言

超时设置 了解超时机制

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

命令日志

查找.active li之前的所有元素

cy.get('.left-nav').find('li.active').prevAll()

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

命令日志 prevAll

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

控制台日志 prevAll

另请参阅