我有一個函數,刪除一個按鈕單擊活動類li。當活動li被刪除時,我需要將活動類轉移到最近的li。 .next和.prev都可以很好地工作,但是如果我刪除第一個或最後一個li,則不會考慮。在這種情況下,.next或.prev都不起作用。jQuery - 查找最接近的同胞列表項 - 下一個或上一個
除了使用if語句之外,還有其他函數可以在這裏使用嗎?不幸的是,最接近的不適合我。
HTML
<ul>
<li class="active">List item #1</li>
<li>List item #2</li>
<li>List item #3</li>
<li>List item #4</li>
<li>List item #5</li>
</ul>
JS
$('.conversations-wrap').on('click', '.delete-message', function(){
// delete sidebar element
$('.message-details.active').remove();
// change sidebar active
$('.message-details.active').closest('li').addClass('active');
});
感謝隊友,這很好。我希望有一種方法可以在沒有if語句的情況下做到,但如果這是我唯一的出路。 –
@ClintonGreen我認爲沒有辦法不使用if語句來檢查最後一個元素,甚至是第一個元素..我會試着去考慮它..但我有點確定它沒有辦法 –
是的,我嘗試使用li:first-of-type來嘗試使用If語句執行此操作,但無法弄清楚爲什麼它會刪除選定的和下一個。這是因爲我在刪除另一個之前將活動課寫入另一個課。您的.toDelete課程節省了一天的時間。謝謝 –