如果我有这样的语句:
$('a:first').parent().next().css('color', 'red');
如何回到原来的jQuery对象$('a:first')
?
人们建议end()
,但它只回到1步,我想一直走到链的第一部分。
EDIT:好的,所以我想要这个的原因是因为这个表达式不起作用:
$(this).parent().remove().next().show();
如果你想"存储" a:first
,然后应用额外的选择器给它而不丢失它,你应该存储它:
var $firstA = $('a:first');
$firstA.parent().next().css('color', 'red');
在这种情况下,我能想到的是使用.end()
两次:
$('a:first').parent().next().css('color', 'red').end().end()
虽然这看起来不太好,但它可以按您的需要工作,并且您将需要在您想要的每个后退步骤中使用它。不幸的是,jQuery没有像.endAll()
这样的方法来让你回到原来的选择器,所以你可以按照meagar的建议,把原来的选择器保存在一个变量上。