回到链中的原始选择器?

时间:2013-06-17 14:43:28

标签: javascript jquery dom-traversal

如果我有这样的陈述:

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

如何返回原始jQuery对象$('a:first')

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

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

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

2 个答案:

答案 0 :(得分:4)

如果您想“存储”a:first,然后在不丢失的情况下应用其他选择器,则应该存储

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

$firstA.parent().next().css('color', 'red');

答案 1 :(得分:1)

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

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

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

相关问题