我是jQuery的新手,並且一直在用進度指示器進行測驗,並遇到了jQuery的一些問題。 這裏是我的進度指示器jQuery .next()選擇所有,而不僅僅是接下來的
<div id="progressKeeper">
<ul>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
<li><a class="step" href="#"></a></li>
</ul>
</div>
使用CSS,我有一個灰色圓圈添加背景圖片的所有錨標籤與類的.step
HTML和我創建了一個與一類錨標籤的.step
和.green
背景圖像切換到綠色圓圈
#progressKeeper li a.step {
background: url(img/Progress_grey.png) no-repeat;
width: 14px;
height: 14px;
position: absolute;
}
#progressKeeper li a.step.green {
background: url(img/Progress_green.png) no-repeat;
}
,並與jQuery,我想要類.green
添加到第二天#progressKeeper li a.step
點擊與類的.btnNext
按鈕時。
$('.btnStart').click(function(){
$('#progressKeeper li a.step').first().addClass('green');
});
$('.btnNext').click(function(){
$('#progressKeeper ul li a.step').parent().next('li').find('a').addClass('green');
});
我的問題是,當我在按鈕上點擊「下一步」,所有的未來li a
元素被添加類的綠色。我使用.next(),據我所知,它應該只選擇第一個即時兄弟。
我在哪裏做錯了?
編輯:我忘了提及,我希望前進的元素保持綠色。所有的解決方案的工作原理和感謝您的解釋,但我不確定接受哪個答案,因爲阿富汗之王的答案是正確的答案,即使你不知道我想要什麼。
好戲了,加入的jsfiddle。很好的測試,這就是爲什麼我發現,如果你開始,下一個,下一個,開始,你會得到多個綠色。可能'start'應該在將第一個綠色設置爲綠色之前清除所有綠色:'$('#progressKeeper ul li.sql.green')。removeClass('green')'。但我還是給了你一個,因爲這是另一個問題。 – paxdiablo