javascript - 使用 jQuery 查找上一个兄弟元素
问题描述
在下面的 HTML 中,我想在类“div-class”的 div 之前的第一个同级 P 元素中添加一个类。
<p>hello</p>
<p>hello</p> -> add class to this element
<div><p>test</p></div>
<div class="div-class"></div>
这不起作用:
jQuery(".div-class").prev("p").addClass("p-class");
解决方案
该prev()
方法仅选择紧接在该元素之前的兄弟元素,因为您使用的是p
选择器,它不会选择任何东西,因为没有任何p
紧接在该元素之前的标签。
您可以使用prevAll()
方法获取元素之前的所有兄弟元素,并使用方法first()
获取集合中最近的一个。
jQuery(".div-class").prevAll("p").first().addClass("p-class");
.p-class {
color: red
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>hello</p>
<p>hello</p>
<div>
<p>test</p>
</div>
<div class="div-class"></div>
This doesn't work:
推荐阅读
- node.js - 节点多个流:如何结束最终的 writeableStream
- azure-resource-manager - 我试图使用 ARM 模板部署存储帐户。但是,已引发错误。有人可以帮我解决这个问题吗
- python - 是否可以在 numpy 中优化子矩阵操作?
- mongodb - 使用 MongoDB 按多个值进行 Golang 聚合分组
- flutter - 使用 tik tok api 自动启动视频
- python - 我应该如何确保所有唯一项目都存在于唯一项目 python 列表中?
- html - 带有动态内容的 Asp.net 核心模式弹出窗口
- python-3.x - Python'期望一个缩进块'错误?
- php - PHP下拉列表继承到另一个页面的问题
- css - 在 NavLink 上同时使用 className 和 activeClassName