[英]jQuery Panel Will Not Toggle Active Class/Collapse One at a Time
我有兩個 div - 一個面板 div 控制另一個 div 上顯示的內容。 問題是當面板處於活動狀態時以及面板下的子項也處於活動狀態時,我必須應用“選定”類。 現在,它不會在活動時“切換”選定的類。 這是我到目前為止...
jQuery
$('.options-display .options-list').hide();
$('#option-1').show(); // change to whatever is shown first on page
$('.collapse p').click(function(){
$(this).toggleClass('.selected');
var target = '#' + $(this).data('target');
$('.options-list').not(target).hide();
$(target).show();
});
提琴手
它按書面方式工作,可能不是預期的那樣。 有兩個方面可能並不明顯導致您的困惑。
首先,這也是我犯的一個常見錯字,在切換(或 addClass 或 removeClass)中使用類名時,請確保不包含.
對於選擇器
//$(this).toggleClass('.selected');
$(this).toggleClass('selected');//should be this
// ^no `.`
注意:使用這種方法仍然保持原始的“選定”類完好無損。 也許你應該在這行代碼前加上
$('.collapse .selected').removeClass('selected');
其次,單擊回調中的this
綁定將是單擊的元素,在您選擇子項的示例中,它是<p>
元素。 在這些情況下,如果您想為整個部分設置樣式,則可能selected
類應該位於父 div 上。 由於您遺漏了selected
課程的樣式,因此很難說。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.