javascript - 如何查看内部 UL 是否展开或折叠

标签 javascript jquery html css

<li class="setRelative">
    <a class="tfLink clickMe current" data-toggle=".tfLink1" id="current" href="javascript:void(0);"><img src="theImages/imgPlus.png" id="imgFirstM" class="imgExpCol">Header 1</a>
    <ul class="uSPStyle uSPInner" style="width: 80%;">
        <li><a class="tfLink clickMe" title="Sub-Page" data-toggle=".tf1SLink1" href="javascript:void(0);">Sub-Page</a></li>
        <li><a class="tfLink clickMe" title="test" data-toggle=".tf2SLink1" href="javascript:void(0);">test</a></li>
    </ul>
</li>

默认情况下,uSPInnerUnordered List 不显示,并在单击 clickMe 链接时展开:

$('.clickMe').click(function () {
    var $this = $(this);

    $this.closest("li").find("ul").slideToggle();

    $('.clickMe').removeClass('current');

    $this.addClass('current');
});

如果内部 UL 展开或折叠,我如何添加到上面的脚本中以查看。

试过这个但没用:

var item = $this.closest("li").find("ul").is(":hidden");
alert(item);
if (item) {
    console.log("no item");
}
else {
    console.log("item");
}

最佳答案

尝试使用 $(this).parent().find("ul").eq(0).is(':visible'); 获取 anchor 链接的父级'正在单击,然后找到第一个子 ul 并检查它是否显示在屏幕上。这应该会给你正确的反馈。

JsFiddle

关于javascript - 如何查看内部 UL 是否展开或折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31591713/

相关文章:

javascript - 以特定顺序运行具有效果的 jQuery 函数

Jquery 可拖动和可排序

javascript - 切换表中最接近的 DIV

按返回后 HTML5 本地存储恢复

javascript - 在 AngularJS 中添加和删除数组中的嵌套项目

javascript - Angular Electron - 更改事件不会触发文件上传

javascript - 拖放下拉列表,并相应地在javascript中更新数据。

jQuery 表单中输入的数量

html - 在另一个 div 下滚动带有 youtube 视频的 div

javascript - HTML 5 游戏开发工具