prev
获取一组元素中每个元素紧邻的前一个同级元素。
info
该命令的查询行为与 jQuery 中的
.prev()
完全一致。
语法
.prev()
.prev(selector)
.prev(options)
.prev(selector, options)
用法
正确用法
cy.get('tr.highlight').prev() // 获取前一个 'tr'
错误用法
cy.prev() // 错误,不能直接链式调用 'cy'
cy.getCookies().prev() // 错误,'getCookies' 不返回 DOM 元素
参数
selector (字符串选择器)
用于过滤匹配 DOM 元素的选择器。
options (对象)
传入选项对象以改变 .prev()
的默认行为。
选项 | 默认值 | 描述 |
---|---|---|
log | true | 在 命令日志 中显示该命令 |
timeout | defaultCommandTimeout | 等待 .prev() 解析的超时时间,超过则 超时 |
生成结果
.prev()
返回找到的新 DOM 元素。.prev()
是一个查询命令,可以安全地链式调用其他命令。
示例
无参数
查找类名为 active
的元素的前一个元素
<ul>
<li>玄凤鹦鹉</li>
<li>彩虹吸蜜鹦鹉</li>
<li class="active">凤头鹦鹉</li>
<li>锥尾鹦鹉</li>
<li>折衷鹦鹉</li>
</ul>
// 返回 <li>彩虹吸蜜鹦鹉</li>
cy.get('.active').prev()
选择器
查找前一个类名为 active
的元素
<ul>
<li>玄凤鹦鹉</li>
<li>彩虹吸蜜鹦鹉</li>
<li class="active">凤头鹦鹉</li>
<li>锥尾鹦鹉</li>
<li>折衷鹦鹉</li>
</ul>
// 返回 <li>凤头鹦鹉</li>
cy.get('li').prev('.active')
规则
要求
.prev()
必须链式调用在返回 DOM 元素的命令之后。
断言
超时设置
.prev()
可能因等待元素 存在于 DOM 中 而超时。.prev()
可能因等待添加的断言通过而超时。
命令日志
查找活动 li
元素的前一个元素
cy.get('.left-nav').find('li.active').prev()
以上命令将在命令日志中显示为:

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