Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 要删除类并在兄弟标记中添加slideUp吗_Javascript_Jquery_Html - Fatal编程技术网

Javascript 要删除类并在兄弟标记中添加slideUp吗

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

我正在使用由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" 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">&nbsp;&nbsp;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">&nbsp;&nbsp;Frequently Asked Questions</a></li>
</ul> 
$(".uk-magento").on("click", function() {
  $(".uk-nav-parent-mag").toggleClass("hidden", 400, "easeInBack");
});