javascript - 使用 JQuery 隐藏 sibling 和 parent 的 sibling 直到给定的 id

标签 javascript jquery

由于单击按钮时出现空间问题,我正在尝试展开内部 div。当用户单击一个按钮时,我想隐藏它的 sibling 和 parent 的 sibling ,直到指定的 id。如何使用 jquery 在 javascript 中执行此操作?

示例如下:

Dom:

<div id="p">
    <div id="p1-1">
        <div id="c1-1-1">
            <button id="expand"></button>
        </div>
        <div id="c1-1-2">
        </div>
    </div>
    <div id="p1-2">
        <div id="c1-2-1">
        </div>
    </div>
    <div id="p1-3">
        <div id="c1-3-1">
        </div>
    </div>
</div>

结果 Dom:

<div id="p">
    <div id="p1-1">
        <div id="c1-1-1">
            <button id="expand"></button>
        </div>      
    </div>  
</div>

最佳答案

使用 parentsUntil() 查找您希望保持可见的元素, 使用 each() 遍历它们,然后隐藏他们的 sibling ()。

$(button).click(function(){
    var elementsToKeep = $(this).parentsUntil('#stop_element_id');
    elementsToKeep.each(function(){
        $(this).siblings().hide();
    });
});

没有足够的代表发布到 siblings() 的链接。

关于javascript - 使用 JQuery 隐藏 sibling 和 parent 的 sibling 直到给定的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16529297/

相关文章:

javascript - 将 XML 字符串传递给 Web API 结果出现 404 Not Found

javascript - 我的登录导航项在 Bootstrap 中未与右侧对齐

javascript - jQuery text() 和 show() 不起作用(RoR 应用程序)

javascript - 如何一一统计jQuery中的localStorage值

jquery - jquery 选择器 '$("#someID > * *")' 是什么意思?

javascript - 根据输入 jquery 的值生成 n 个表行

javascript - 如何使用 JSON 数据创建动态表?

javascript 基于 ES6 中的单个项目对象数组组合对象数组

javascript - 动态复选框创建来运行 onclick 函数

javascript - AngularJS $ViewContentLoaded : Any way to make it animate differently depending on UI-Router State?