Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/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
Jquery打开/关闭导航_Jquery_Html - Fatal编程技术网

Jquery打开/关闭导航

Jquery打开/关闭导航,jquery,html,Jquery,Html,我正在使用“打开”和“关闭”创建导航列表。但当我点击nav ul li.test a打开隐藏的ul时,什么也没发生。当我使用nav ul li.test时,没有隐藏的ul会打开,但链接不可链接,它们会像父ul一样继续执行功能。我认为这是因为。测试在隐藏ul后关闭,所以它们都是od。测试的一部分。所以我选择了nav-ul-li.测试a,但什么也没发生。下面是一个活生生的例子: jQuery(文档).ready(函数(){ jQuery('nav ul li.test

我正在使用“打开”和“关闭”创建导航列表。但当我点击nav ul li.test a打开隐藏的ul时,什么也没发生。当我使用nav ul li.test时,没有隐藏的ul会打开,但链接不可链接,它们会像父ul一样继续执行功能。我认为这是因为。测试在隐藏ul后关闭,所以它们都是od。测试的一部分。所以我选择了nav-ul-li.测试a,但什么也没发生。下面是一个活生生的例子:


jQuery(文档).ready(函数(){ jQuery('nav ul li.test a')。单击(函数(){ jQuery('nav ul').hide(); jQuery('nav ul li a i')。addClass('fa-plus')。removeClass('fa-plus'); jQuery(this.children('ul').show(); jQuery(this).find('a>i').removeClass('fa-plus').addClass('fa-plus'); 返回false; }); });
您必须更改此选项:

jQuery(document).ready(function () {
    jQuery('nav ul li.test a').click(function(){
        jQuery('nav ul ul').hide();
        jQuery('nav ul li a i').addClass('fa-plus').removeClass('fa-minus');
        jQuery(this).next('ul').show(); // change this
        jQuery(this).find('a > i').removeClass('fa-plus').addClass('fa-minus');
        //add this statement
        if(jQuery(this).attr('href') != "#"){
          location.href = jQuery(this).attr('href');
        }
        return false;  
    });
});
如我所示,您已经将其更改为您的页面:)


在你的OP中,你试图在
元素中找到子元素,但没有子元素。

我改变了这一点,现在隐藏列表打开了,但当我点击隐藏列表链接时,不要将我带到另一页,隐藏列表只是关闭,而不是打开另一页。我用您的代码更新了www.studioi.hr/index.php,以便您可以在那里查看。
jQuery(document).ready(function () {
    jQuery('nav ul li.test a').click(function(){
        jQuery('nav ul ul').hide();
        jQuery('nav ul li a i').addClass('fa-plus').removeClass('fa-minus');
        jQuery(this).next('ul').show(); // change this
        jQuery(this).find('a > i').removeClass('fa-plus').addClass('fa-minus');
        //add this statement
        if(jQuery(this).attr('href') != "#"){
          location.href = jQuery(this).attr('href');
        }
        return false;  
    });
});