javascript - 查找没有 id 或类的元素的子元素

标签 javascript jquery jquery-selectors

我有以下代码结构:

<ul class='menu'>
    <li>
         Main Menu
         <ul class='hide'>
             <li>SubMenu1</li>
             <li>SubMenu2</li>
         </ul>
    </li>
    <li>
         Main2
         <ul class='hide'>
             <li>Sub1</li>
         </ul>
    </li>
</ul>

有没有一种方法可以让我在 Main MenuMain2 上以一种通用的方式发生 jQuery 单击事件,从而删除正确子项的“隐藏”类每次?

最佳答案

这是另一种方式,它使用事件委托(delegate),并且仅在 li 元素而非其子元素被单击时运行:

$('ul.menu').on('click', 'ul.menu > li', function(e) {
    if(e.target === this) {
        $(this).children('ul').toggleClass('hide');
    }
});

DEMO

关于javascript - 查找没有 id 或类的元素的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8582885/

相关文章:

javascript - 如何根据回调的响应在 componentDidMount 中设置状态

javascript - Bootstrap 模式奇怪的问题

php - jQuery JSON 回调显示 'Undefined'

javascript - 如何从异步调用返回响应?

jquery - 将 id 的值发送到 fancy box

Javascript fetch 和 console.log json 给出未定义

javascript - 在 bootstrap 中固定视频后,Div 位置不正确

使用字符串变量进行 JQuery 查找

javascript - Jquery 在 ul 中选择具有跨度的 div

javascript - 将 jQuery 事件应用到两个 DOM id 的选择器