Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 - Fatal编程技术网

JQuery-显示和隐藏菜单

JQuery-显示和隐藏菜单,jquery,Jquery,如何隐藏子菜单,当单击链接时,它会再次显示子菜单 我试着编写自己的代码,但不起作用 我只想创建一个简单的菜单,我该怎么做 <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <li class="Item1"> <a href="#" >Separador 1</a> </li> <ul class="submenu">

如何隐藏子菜单,当单击链接时,它会再次显示子菜单

我试着编写自己的代码,但不起作用

我只想创建一个简单的菜单,我该怎么做

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<li class="Item1">
     <a href="#" >Separador 1</a>
</li>
<ul class="submenu">
     <li class="menuitem">
         <a href="#"> Submenu 1 </a>
     </li>
</ul>

<style>
li{
   float:left;
   display:inline;
   margin-left: 10px;
}
</style>
<script>
$('.item1 a').click(function() {
      $(this).children('.menuitem').toggle();
});
</script>

    李{ 浮动:左; 显示:内联; 左边距:10px; } $('.item1 a')。单击(函数(){ $(this.children('.menuitem').toggle(); });
    试试看


    演示:

    要使jQuery正常工作,需要将子菜单设置为li元素的子菜单:

    <li class="Item1"><a href="#" >Separador 1</a>
    
        <ul class="submenu">
            <li class="menuitem"><a href="#"> Submenu 1 </a></li>
        </ul>
    </li>
    
    请在此处查看它的实际操作:

    您可以使用代码获得相同的结果,但需要稍微修改选择器。我给你的是一种更标准的方法。你也可以用

    注意:您提供的是
    .item1
    类名,因为标记包含
    .item1
    其中我是大写字母,因此请确保选择器始终区分大小写

    试试这个:

    <a href='javascript:toggle()'>Expand/Collapse</a>
        <script>
            function toggle(){
            var div1 = document.getElementById('toggle')
            if (div1.style.display == 'none') {
            div1.style.display = 'block'
            } else {
            div1.style.display = 'none'
            }
            }
            </script>
    
    <div id='toggle' style='display:none'>
    
    
    函数切换(){
    var div1=document.getElementById('toggle')
    如果(div1.style.display=='none'){
    div1.style.display='block'
    }否则{
    div1.style.display='none'
    }
    }
    

    是否希望在默认情况下隐藏该链接,并在单击该链接时将其打开?您发布的HTML片段无效。JavaScript是区分大小写的,所以
    $('.item1 a')
    应该是
    $('.item1 a')
    。我要做的唯一注释是传递事件参数。
    <li class="Item1"><a href="#" >Separador 1</a>
    
        <ul class="submenu">
            <li class="menuitem"><a href="#"> Submenu 1 </a></li>
        </ul>
    </li>
    
    $('.Item1').click(function() {
    
        $(this).children('.submenu').find('.menuitem').toggle();
    
    });
    
    $('.Item1 a').click(function() {
          $(this).closest('li').next().children().toggle();
    });
    
    <a href='javascript:toggle()'>Expand/Collapse</a>
        <script>
            function toggle(){
            var div1 = document.getElementById('toggle')
            if (div1.style.display == 'none') {
            div1.style.display = 'block'
            } else {
            div1.style.display = 'none'
            }
            }
            </script>
    
    <div id='toggle' style='display:none'>
    
    $('.Item1 a').click(function() {
          $('.submenu li').toggle();
    });