我正在使用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')'在下次单击该元素时可能无法匹配,因此您将永远不会重新启用它。 –