有没有办法将$(this)与:nth-​​child结合起来?

我正处于一个.each迭代的中间,想要为每个人调出第二个或第三个孩子……但是不能让它工作。

alert($(this + ' :nth-child(2)').attr('id')); 

我能想到的唯一选择是像这样可怕的傻瓜:

  $(this).children(':first').next().attr('id', 'ddParam' + newCount); $(this).children(':first').next().next().attr('id', 'txt' + newCount); $(this).children(':first').next().next().next().attr('id'... 

你需要的是背景 。 使用上下文,选择器将只查找作为上下文子元素的元素(在本例中为this )。

 $(':nth-child(2)', this).attr('id'); 

jsFiddle演示

这基本上与以下相同:

 $(this).find(':nth-child(2)').attr('id'); 

如果你只需要直接的孩子,而不是每个后代,你应该使用.children()

 $(this).children(':nth-child(2)').attr('id');