javascript - 如何使用事件监听器或设置事件来隐藏和显示单击子菜单

标签 javascript codeigniter dom event-listener c3.js

if ($C.getElement(".side-bar")) {
    $C.setEvent("click",".side-bar",function() {
        var x = this.childElementCount;
        alert(x);
        if ( x == 2){
            var y =        this.selectAllChildren.className;
            alert(y);
        }
        /*if(Ele.style.display == "block"){
            Ele.style.display = "none";
            //alert("bro...it works,you dont see me?,i'm inside if loop");
        }
        else {
            Ele.style.display = "block";
            //alert("bro...i'm working fine");
        }*/
    });
}

ul,li{
  list-style:none;
  }

.side-bar ul{
  display :none;
}

<html>
  <ul>
    <li class="side-bar">Menu title 1
      <a>  </a>
      <ul> 
        <li>item 11 </li>
         <li>item 12 </li>
         <li>item 13 </li>
      </ul>
    </li>
    <li class="side-bar">Menu title 2
      <a> </a>
      <ul> 
        <li>item 21 </li>
         <li>item 22 </li>
         <li>item 23 </li>
      </ul>
    </li>
  </ul>
 </html>





在上述功能中,我试图使用set event创建菜单on click,但是我找不到合适的解决方案。单击主项目时需要显示子菜单。如何在不更改菜单的情况下进行修复HTML和CSS部分?

最佳答案

哥们,我想我明白了...请检查这个答案

if ($C.getElement(".side-bar")) {
    $C.setEvent("click",".side-bar",function() {
        if ( this.childElementCount == 2){
            var nodes = this.childNodes;
            for(var i=0; i<nodes.length; i++) {
                if( nodes[i].className == 'nav nav-second-level')//if `you want to check a perticular class name paste it here`
                    {
                        if(nodes[i].style['display'] === 'block')
                            { 
                                nodes[i].style.display = 'none';
                            }
                        else{
                                nodes[i].style.display= 'block';
                        }
                    }
            }
        }
    });
}

关于javascript - 如何使用事件监听器或设置事件来隐藏和显示单击子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40130441/

相关文章:

codeigniter - 表单验证在运行时更改时忽略语言

php - 什么是回调函数以及如何将它与 OOP 一起使用

javascript - 无法从 dc.js 数据表中删除空箱

javascript - Div标签代码提取器

javascript - 中断 PHP 脚本从 Javascript/AJAX 执行大型 mysqli 查询

javascript - 看似已定义的 JavaScript 变量会引发未定义的错误

php - 如何避免并记录数据库的一些意外情况?

php - 如何将带有参数的 URI 路由到 codeigniter 中的方法?

javascript - 为什么 'input' 事件具有 `Event` 类型的事件而不是 `InputEvent`

javascript - 使用 Javascript 获取 HTML ul 列表中的列表项索引