2

如果我有这样的声明:

$('a:first').parent().next().css('color', 'red');

我如何回到原来的 jQuery 对象$('a:first')

人们在建议end(),但它只返回一步,我想一直到链条的第一部分。

编辑:好的,所以我想要这个的原因是因为这个表达式不起作用:

$(this).parent().remove().next().show();
4

2 回答 2

4

如果你想“存储” a:first,然后在不丢失它的情况下应用额外的选择器,你应该存储它:

var $firstA = $('a:first');

$firstA.parent().next().css('color', 'red');
于 2013-06-17T15:15:17.777 回答
1

在这种情况下我能想到的是使用.end()两次:

$('a:first').parent().next().css('color', 'red').end().end()

虽然这看起来不太好,但它可以根据您的需要工作,并且您需要在您想要的每一步中使用它。不幸的是,jQuery 没有办法.endAll()让你回到原来的选择器,所以你可以按照 meagar 的建议去做,并将原来的选择器保存在一个变量中......

于 2013-06-17T15:17:36.610 回答