2012-07-23 150 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");