我正在使用jQuery製作下拉菜單。旁邊的每個對象打開一個下拉有一個三角形的,像這樣:jQuery toggleClass不改變css
我有兩個CSS類,.caret
和.u-caret
。類caret
看起來像一個指向下的三角形,類u-caret
看起來像一個指向上。當我點擊對象時,我想讓這些類切換。
HTML:
<span id="learn">Open Dropdown <span class="caret"></span></span>
CSS:
.caret {
border-top:5px solid black;
border-left:5px solid transparent;
border-right:5px solid transparent;
}
.u-caret{
border-bottom:5px solid black;
border-left:5px solid transparent;
border-right:5px solid transparent;
}
JS:
$('#learn').click(function(){
$('#learn-dropdown').toggle().css('z-index','200');
$('#affiliate-content-dropdown').css('z-index','100').slideUp();
$("#snippet-dropdown").css('z-index','100').slideUp();
$('#stories-dropdown').css('z-index','100').slideUp();
$(this).closest('.caret').toggleClass('caret').toggleClass('u-caret');
});
'最接近()'不工作的方式;它向外/向上,而不是向內。另外,請注意,一旦您切斷了'caret',最近的('。caret')'在下次單擊該元素時可能無法匹配,因此您將永遠不會重新啓用它。 –