2012-07-23 71 views
0

选择像这样的第n个孩子我想选择秒子。在jquery中选择第n个孩子javascript

$(this).prev().children[1].removeClass("necry").addClass("necry_er"); 

而这个HTML

<div class="reg_label"> 
    <div class="def">Family</div> 
    <div class="necry">Necessary Field</div> 
    <div class="clear">&nbsp;</div> 
</div> 

我期待这样的结果:

<div class="necry_er">Necessary Field</div> 
+0

你为什么不使用:even selector? http://api.jquery.com/even-selector/ – 2012-07-23 18:29:54

+0

这次我需要第二次我需要第五次... – levi 2012-07-23 18:31:13

+0

好了,第二次或下一次第五次总是有同一班?如果是的话,带上父母并寻找那个班级。 – 2012-07-23 18:31:50

回答

2

使用eq()到匹配的元素减少到一个指定索引处。

$(this).prev().children().eq(1).removeClass("necry").addClass("necry_er"); 

还有一个:nth-child选择:

$('#elementID:nth-child(2)').doSomething(); 

要只是交换两个类,你可以这样做:

$('.necry').toggleClass('necry necry_er'); 

究竟是如何去寻找你想要的元素是一个小很难说,因为没有解释什么是this或它是在什么环境?

1

这样的事情呢?

var nec = $(this).parent().find(".necry"); 
nec.removeClass("necry"); 
nec.addClass("necry_er");