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");
});