javascript - jQuery 仅在父 li 上隐藏/显示

标签 javascript jquery html-lists

我是 jQuery 新手,正在尝试隐藏和显示 li 列表。

我让它工作,当您单击父 li (li.2015) 时,子 li (ul.2015) 列表会显示和隐藏。

但是,我只希望此行为在父 li (li.2015) 上起作用,而不是在单击子 li 列表 (ul.2015) 时起作用。

现在,当我单击子 li 列表 (ul.2015) 时,它会隐藏,我不希望发生这种情况,我只希望显示/隐藏在父 li 上运行( li.2015)。

为此我需要对 jQuery 进行哪些更改?

html

<div class="content">
    <ul class="date">
        <li class="2015">2015
        <ul class="2015">
            <li><a href="http://google.com">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
        </ul>
        </li>
    </ul>
</div>

jquery

(function () {
    var ulSub = $('ul.2015');
    $('li.2015').on('click', function (e) {
        e.stopPropagation();
        ulSub.toggle();
    });
    ulSub.hide();
    $(this).on('click', function () {
        ulSub.hide();
    });
})();

最佳答案

子项隐藏,因为您用 li.2015 包裹 ul

你的html

<div class="content">
    <ul class="date">
        <li class="2015">2015
        <ul class="2015">
            <li><a href="http://google.com">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
        </ul>
        </li>
    </ul>
</div>

当您单击子项时,首先将浏览您包裹子项的父项li

尝试这样

HTML

<div class="content">
    <ul class="date">
        <li class="2015">2015</li>

            <ul class="2015">
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            </ul>


    </ul>
</div>

Javascript

var ulSub = $('ul.2015');
ulSub.hide();
$('li.2015').on('click', function(e) {
    e.stopPropagation();
    ulSub.toggle();
});

关于javascript - jQuery 仅在父 li 上隐藏/显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28923828/

相关文章:

javascript - 如何使图像上的跨度元素相对于图像大小调整?

html - br 在 ul 中无效

javascript - 带文本输入的过滤列表 - 嵌套列表未显示?

javascript - 如何批量更改整个存储库中所有 JS 文件的制表符宽度?

javascript - 在 Sequelize Model 类中键入属性

javascript - 动态图像调整大小

javascript - 如何在不更改其他属性的情况下更改 ul 中 li 的文本?

javascript - 如何使用 Typescript、React 和 Webpack 导入 SCSS 或 CSS 模块

javascript - 如何在CanJs中找出哪个 anchor 标签被点击并获取id?

javascript - 在 Jquery 中正确使用 .on 方法