2013-11-27 84 views
0

這是HTML輸出:如何在jQuery中選擇具有相同類名的第n個元素?

<ul class="slides row"> 
    <li id="t64" class="span3"></li> 
    <li id="t65" class="span3"></li> 
    <li id="t67" class="span3"></li> 
    <li class="detailView desktopView"></li> 
    <li id="t66" class="span3"></li> 
    <li id="t68" class="span3"></li> 
    <li class="detailView desktopView"></li> 
    <li class="detailView mobileView"></li> 
</ul> 

我試圖只與類名.span3選擇第n個元素。 所以,我想這一點:

var targetSlide = 3; 
$(".slides").children('.span3:eq('+ targetSlide +')').addClass('on'); 

var targetSlide = 4; 
$(".slides").children('.span3:nth-child('+ targetSlide +')').addClass('on'); 

在這兩種情況下.detailView選擇。有任何想法嗎?

回答

6

這應該工作:

var targetSlide= 3; 

$('.slides').find('.span3').eq(targetSlide).addClass('on'); 

// or this syntax does the exact same thing 

$('.slides').find('.span3:eq('+targetSlide+')').addClass('on'); 
3

可以過用這個,

var targetSlide = 3; 
$(".slides").children('.span3').filter(':eq('+ targetSlide +')').addClass('on'); 
+0

我拒絕張貼關切簡單,而且+1這個例子顯示jQuery的靈活性 – MonkeyZeus

+0

@MonkeyZeus像我這樣的學習者需要這樣的鼓勵。 –

1

嘗試:

var targetSlide = 3; 
$('.slides').find('.span3').eq(targetSlide).addClass('on'); 
相關問題