下一步如何为jquery添加多个选择器?

下一步如何为jquery添加多个选择器?,jquery,Jquery,我正在尝试实现jquery next()和prev()功能,因此如何选择下一个元素是child1还是child2,因为next(“.child1.child2”)不起作用 $(".child1").next(".child1, .child2").css("background-color":"black") <style> .parent { height: 800px; width: 100%; overflow-y: hidden; border: 1px s

我正在尝试实现jquery next()和prev()功能,因此如何选择下一个元素是child1还是child2,因为next(“.child1.child2”)不起作用

$(".child1").next(".child1, .child2").css("background-color":"black")

<style>
.parent {
  height: 800px;
  width: 100%;
  overflow-y: hidden;
  border: 1px solid black;
}
.child1 {
  background-color: blue;
  height: 150px;
  width: 150px;
}
.child2 {
  background-color: red;
  height: 150px;
  width: 300px;
}
</style>


<div class="parent">
  <div class="child1"></div>
  <div class="child1"></div>
  <div class="child1"></div>
  <div class="child2"></div>
  <div class="child1"></div>
  <div class="child1"></div>
  <div class="child2"></div>
  <div class="child1"></div>
  <div class="child1"></div>
  <div class="child1"></div>
  <div class="child2"></div>
  <div class="child1"></div>
  <div class="child1"></div>
  <div class="child2"></div>
</div>
$(.child1”).next(.child1.child2”).css(“背景色”:“黑色”)
.家长{
高度:800px;
宽度:100%;
溢出y:隐藏;
边框:1px纯黑;
}
.儿童1{
背景颜色:蓝色;
高度:150像素;
宽度:150px;
}
.儿童2{
背景色:红色;
高度:150像素;
宽度:300px;
}

首先,您的语法是错误的

.css("background-color":"black")
应该是

.css("background-color", "black")
第二,正如@Taplar所说,您的选择器不清楚此应该引用.next。您实际要做的是选择every.child1,然后将下一个child1和child2设置为黑色css

相反,我假设您希望选择一个子项,然后设置下一个子项。我做了一个简单的例子,我使用。下一步为点击的孩子设置css 1

$(.child1”)。在(“单击”,函数(){
$(this.next(“.child1.child2”).css(“背景色”、“黑色”)
});
.parent{
高度:800px;
宽度:100%;
溢出y:隐藏;
边框:1px纯黑;
}
.儿童1{
背景颜色:蓝色;
高度:150像素;
宽度:150px;
}
.儿童2{
背景色:红色;
高度:150像素;
宽度:300px;
}

如果你想让child1之后的每一个元素都变黑,那么你的代码工作正常。
但是如果您试图选择
.child1
child2
之后的第一个元素,请阅读以下内容

您应该像这样向每个子节点添加公共类

<div class="parent">
  <div class="child child1"></div>
  <div class="child child1"></div>
  <div class="child child1"></div>
  <div class="child child2"></div>
  <div class="child child1"></div>
  <div class="child child1"></div>
  <div class="child child2"></div>
  <div class="child child1"></div>
  <div class="child child1"></div>
  <div class="child child1"></div>
  <div class="child child2"></div>
  <div class="child child1"></div>
  <div class="child child1"></div>
  <div class="child child2"></div>
</div>

然后像这样访问它

$(“.child”).next().css(“背景色”、“黑色”)

可能会这样


$(“.child”).next().next()…

你到底想做什么?上一个/next通常意味着你在当前位置。从您提供的内容、当前元素是什么、调用下一个或上一个逻辑会发生什么交互以及该逻辑是什么都不清楚。我觉得建议人们将同一id的多个副本分配给多个元素是一种坏习惯。这是一个有待解决的问题。简单而有力的回答非常感谢