我怎样才能使用相邻的兄弟选择器"这个"在JQuery?

时间:2015-01-08 00:50:10

标签: javascript jquery html css jquery-selectors

我有一个列表,列出了同一个班级的各种div。我使用.each函数在用户点击上选择单独的(仅作为示例),之后的任何操作自然需要this,因此它只选择有问题的div。例如:

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

但是如果我想让下一个元素在点击时变为绿色怎么办?我的第一直觉是使用adjacent sibling selectors,但似乎只有在使用两个绝对元素时才有效,即$(".element1 + .element2")。我似乎无法使用this

这是一个JSfiddle,其中包含完整的示例。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

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

http://api.jquery.com/next/

http://jsfiddle.net/naad8wbr/3/

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

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

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

http://api.jquery.com/andSelf/

http://jsfiddle.net/naad8wbr/4/

答案 1 :(得分:0)

<强> jsFiddle Demo

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

您可以使用nextElementSibling MDN与jQuery的add

相关联
 $(this).add(this.nextElementSibling).css("background", "green");