在我的网站上,我在导航栏的右侧有一个菜单。它会在当前页面上显示搜索。
我希望在搜索可用时显示图标。
所有搜索块都有.views-exposed-form
类,并显示在#navbar-collapse-second
我在我的图标中添加了用于隐藏图标的课程.icon-navbar-alert-disable
。
如果.icon-navbar-alert-disable
中存在.views-exposed-form
课程,如何删除#navbar-collapse-second
课程?
以下是隐藏图标的css代码:
.region-navigation-menu-second .navbar-toggle-second .icon-navbar-alert-disable {
display: none;
}
这是我的manu按钮的代码,带有图标:
<div{{ attributes }}>
<a class="navbar-toggle-second collapsed" data-toggle="collapse" data-target="#navbar-collapse-second" aria-expanded="false">
<div class="icon-navbar">
<span class="fa-layers fa-3x">
<i class="far fa-circle"></i>
<span class="navbar-icon-open">
<i class="fas fa-filter" data-fa-transform="shrink-9"></i>
</span>
<span class="navbar-icon-close">
<i class="fas fa-times" data-fa-transform="shrink-8"></i>
</span>
</span>
</div>
<div class="icon-navbar-alert icon-navbar-alert-disable">
<span class="fa-stack fa-lg">
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fas fa-filter fa-stack-1x fa-inverse"></i>
</span>
</div>
</a>
</div>
这是相关的页面,这是右边的菜单:
https://www.s1biose.com/boutique/ma-boutique-pro
我开始使用JS代码但不完整:
$('#navbar-collapse-second') ???.views-exposed-form??? {
$('#block-togglenavigationsecond').removeClass('icon-navbar-alert-disable');
});
更新
(function ($) {
if ($('#navbar-collapse-second').hasClass('views-exposed-form')) {
$('#block-togglenavigationsecond').removeClass('icon-navbar-alert-disable');
} else {
$('#block-togglenavigationsecond').addClass('icon-navbar-alert-disable');
};
})(window.jQuery);
答案 0 :(得分:1)
你在jQuery中寻找hasClass选择器吗?
如果是这样,将其包装在if语句中,你可以在里面显示你想要的结果;
if ($('#navbar-collapse-second').hasClass('views-exposed-form') === false) {
$('#block-togglenavigationsecond').removeClass('icon-navbar-alert-disable');
} else {
$('#block-togglenavigationsecond').addClass('icon-navbar-alert-disable');
};