Javascript 如何将相邻同级选择器与“一起使用?”;这";在JQuery中?

Javascript 如何将相邻同级选择器与“一起使用?”;这";在JQuery中?,javascript,jquery,html,css,jquery-selectors,Javascript,Jquery,Html,Css,Jquery Selectors,我有一个同一类的各种divs的列表。我正在使用。每个函数在用户单击时选择单个的(作为一个示例),之后的任何操作自然需要此,因此它只选择有问题的div。例如: $(".div").each(function(){ $(this).click(function(){ $(this).css("background","green"); }); }); 但是,如果我想让行中的下一个元素在单击时也变成绿色,该怎么办?我的第

我有一个同一类的各种
div
s的列表。我正在使用
。每个
函数在用户单击时选择单个的(作为一个示例),之后的任何操作自然需要
,因此它只选择有问题的div。例如:

   $(".div").each(function(){
        $(this).click(function(){
               $(this).css("background","green");  
        });
    });
但是,如果我想让行中的下一个元素在单击时也变成绿色,该怎么办?我的第一反应是使用,但似乎只有在使用两个绝对元素时才有效,即
$(“.element1+.element2”)
。我似乎无法使它与
一起工作

下面是一个完整的示例

我该怎么做?

为了“使行中的下一个元素在单击时也变为绿色”,您必须添加到jQuery对象中的元素集

您可以与jQuery的


您正在查找
$(this).next()

如果您想要下一个和这个,那么您可以使用:

$(".div").click(function () {
    $(this).next().andSelf().css("background", "green");
});


您不需要
.each()
。事件绑定方法会自动循环所有与选择器匹配的元素。这只会执行下一个,而不会执行当前的。“但是,如果我想让行中的下一个元素在单击时也变成绿色呢?”这不是jQuery的方式。例如,
$(this).next()
。不支持旧的IE,而且更冗长。最后,它不像
+
选择器那样工作,因为它同时选择了这两个选项。相邻的同级选择器仅选择两个元素中较晚的一个。@Petah-不推荐对IE8的支持(即使在当前的jQuery版本中也是如此)
.next()
在这里不起作用,因为OP需要这两者。示例使用支持IE8的jQuery 1.11
$(".div").click(function () {
    $(this).next().css("background", "green");
});
$(".div").click(function () {
    $(this).next().andSelf().css("background", "green");
});