我有一个列表,列出了同一个班级的各种div
。我使用.each
函数在用户点击上选择单独的(仅作为示例),之后的任何操作自然需要this
,因此它只选择有问题的div。例如:
$(".div").each(function(){
$(this).click(function(){
$(this).css("background","green");
});
});
但是如果我想让下一个元素在点击时变为绿色怎么办?我的第一直觉是使用adjacent sibling selectors,但似乎只有在使用两个绝对元素时才有效,即$(".element1 + .element2")
。我似乎无法使用this
。
这是一个JSfiddle,其中包含完整的示例。
我该怎么做?
答案 0 :(得分:1)
您正在寻找$(this).next()
http://jsfiddle.net/naad8wbr/3/
$(".div").click(function () {
$(this).next().css("background", "green");
});
如果你想要下一个和这个,那么你可以使用:
$(".div").click(function () {
$(this).next().andSelf().css("background", "green");
});
答案 1 :(得分:0)
<强> jsFiddle Demo
强>
为了“使下一行元素在点击时变为绿色”,你必须添加到jQuery对象中的元素集。
您可以使用nextElementSibling MDN与jQuery的add
相关联 $(this).add(this.nextElementSibling).css("background", "green");