我有切換列表元素的一個jQuery的點擊處理程序:
$(document).on('click', 'ul li', function() {
$(this).toggleClass('expanded');
});
有了它,我可以改變我元素點擊展開和摺疊它。
但是,如果我想只有一個元素,以擴大和之前展開的元素關閉,當我點擊到另一個呢?
我想要做到這一點通過$(this)
(點擊li
)和li.expanded
jQuery選擇器爲toggleClass('expanded')
。
類似的信息(但不工作):
$(document).on('click', 'ul li', function() {
$(this, 'ul li.expanded').toggleClass('expanded');
});
提前感謝!
UPD: 我需要這個功能,即使沒有元素是以前擴大(在頁面上開始)的工作,並能崩潰當我點擊它之前展開的元素。
它不起作用正確,如果使用(不展開的第一項):
$('li.expanded', this).toggleClass('expanded');
但工作正常:
$('li.expanded').toggleClass('expanded');
$(this).toggleClass('expanded');
請看看我的更新問題 –
我認爲這隻會切換爲點擊的元素擴展類,但它不會從以前的.expanded元素 – kapantzak
@s刪除此類。 webbandit:檢查更新後的代碼片段... –