Javascript 要删除类并在兄弟标记中添加slideUp吗
我正在使用由ul和li标签组成的侧导航 看起来像:Javascript 要删除类并在兄弟标记中添加slideUp吗,javascript,jquery,html,Javascript,Jquery,Html,我正在使用由ul和li标签组成的侧导航 看起来像: <li> <a href="javascript:;">Mobile</a> </li> <li class="uk-nav-header"> PLATFORM SPECIFIC GUIDES </li> <li class="uk-active uk-magento" data-toggle="collapse" data-target="#demo
<li>
<a href="javascript:;">Mobile</a>
</li>
<li class="uk-nav-header">
PLATFORM SPECIFIC GUIDES
</li>
<li class="uk-active uk-magento" data-toggle="collapse" data-target="#demo" aria-expanded="true" aria-controls="demo">
<a href="/docs/magento">Magento Extension</a>
<ul class="uk-nav-sub uk-nav-parent-mag hidden" >
<li><a href="#step1">1.Install Magento Extension</a></li>
<li><a href="#step2">2.Configure extension</a></li>
<li><a href="#step3">3.Launch Widgets</a></li>
<li><a href="#faq"> Frequently Asked Questions</a></li>
</ul>
</li>
问题是hasClass()返回的是布尔值,而不是jQuery对象,因此下一个链式方法调用(.removeClass()
)将失败
此外,uk nav parent mag
选择器错误
$(“.uk magento”)。单击(函数(e){
e、 预防默认值();
$(此).find('.uk nav parent mag').removeClass(“隐藏”,400,“easeInBack”);
});代码>
。隐藏{
显示:无
}
-
-
平台专用指南
-
对于您试图实现的目标,您的DOM结构似乎非常复杂
parent()、siblines()和hasClass()应该谨慎使用,并且只能在复杂的DOM元素层次结构不可避免的情况下使用
如果没有更多信息,很难判断此侧导航如何与页面其余部分的上下文相适应,但以下是如何将事情简化一点:
HTML:
演示链接:
您的代码运行良好。但当我点击标题“Magento Extension”时,它的href将其指向“/docs/Magento”,页面被刷新。所以我找不到任何removeClassaction@AkashPathak你的浏览器控制台有错误吗?没有,我看不到任何控制台错误。但它的默认功能。li tag一次不能做两件事。它必须以一个页面为目标,并且必须移除其同级中的类。
$(".uk-magento").click(function(e) {
e.preventDefault();
$(this).parent().siblings().hasClass('.uk-nav-parent-mag').removeClass("hidden", 400, "easeInBack");
});
<li>
<a href="javascript:;">Mobile</a>
</li>
<li class="uk-nav-header"> PLATFORM SPECIFIC GUIDES </li>
<li class="uk-active uk-magento" data-toggle="collapse" data-target="#demo" aria-expanded="true" aria-controls="demo"> Magento Extension</li>
<ul class="uk-nav-sub uk-nav-parent-mag hidden" >
<li><a href="#step1">1.Install Magento Extension</a></li>
<li><a href="#step2">2.Configure extension</a></li>
<li><a href="#step3">3.Launch Widgets</a></li>
<li><a href="#faq"> Frequently Asked Questions</a></li>
</ul>
$(".uk-magento").on("click", function() {
$(".uk-nav-parent-mag").toggleClass("hidden", 400, "easeInBack");
});