转移到另一个DOM节点后,jQuery得到原始$(this)?

时间:2013-09-08 23:24:21

标签: jquery

我有以下jQuery:

$(this).siblings().removeClass('active');
$(this).addClass('active');

是否可以将它组合成一行?你不能这样做:

$(this).siblings().removeClass('active').addClass('active');

因为所选的DOM节点现在是所有兄弟节点而不是原始节点,因为您从原始选择中转移(sp?)。

我想知道是否有一些选择器再次选择您的原始选择,您可以链接到第一行,这样它就在一行中。

2 个答案:

答案 0 :(得分:2)

您可以使用end

$(this).siblings().removeClass('active').end().addClass('active');

答案 1 :(得分:2)

我相信你要找的是the .end() function。引用该文档:

  

大多数jQuery的DOM遍历方法都在jQuery对象实例上运行,并生成一个新的,与不同的DOM元素集匹配。当发生这种情况时,就好像将新的元素集推送到在对象内维护的堆栈上。每个连续的过滤方法将新元素集推送到堆栈上。如果我们需要一个较旧的元素集,我们可以使用end()从堆栈中弹回集合。