jquery - 隐藏除一个之外的所有 div

标签 jquery html show-hide

我想隐藏一个完整的 div 容器,除了一个 div。

因此,在启动时只显示 div id“box_5”并隐藏其余部分。 当我单击按钮 1 时显示所有内容,当我单击按钮 2 时再次隐藏所有内容。

问题是当我隐藏“包装器”div 时,它隐藏了包括 id=box_5 在内的所有内容。

我认为问题是 div 在包装器 div 中,但我不知道解决方法?

<button id="button_1">show</botton>
<button id="button_2">hide</botton>

<div id="wrapper">
<div id="box_1"></div>
<div id="box_2"></div>
<div id="box_3"></div>
<div id="box_4"></div>
<div id="box_5">always show this</div>
<div id="box_6"></div>
<div id="box_7"></div>
<div id="box_8"></div>
<div id="box_9"></div>
<div id="box_10"></div>
</div>




$(document).ready(function() {
    $('#wrapper').not(":eq(#box_5)").hide();
    $('id="button_1"').click(function() {
        $('#wrapper').show();
        $('id="button_2"').click(function() {
            $('#wrapper').not(":eq(#box_5)").hide();
        });

    });

最佳答案

改变

$('#wrapper').not(":eq(#box_5)").hide(); 

$('#wrapper').not("#box_5").hide();

注意:删除了 eq 选择器。 eq 选择器在索引上工作,在您的情况下,您不需要 eq 选择器,因为您知道 div 的 ID。

另外请更改您的处理函数,如下所示,

$('#button_1').click(function() {
    $('#wrapper').show();
});

$('#button_2').click(function() {
    $('#wrapper').not("#box_5").hide();
});

关于jquery - 隐藏除一个之外的所有 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13239331/

相关文章:

c# - 将数据从一个表添加到另一个表 - Jquery

php - 如何在javascript中修改php字符串变量

html - 流体地铁箱

javascript - d3节点标记: how to display JSON data formatted with HTML?

javascript - jquery清空父div不删除事件为什么

javascript - 在 Javascript 中处理多行 HTML

html - 这可能吗?溢出-y :visible with overflow-x:scroll/auto

javascript - 为什么我的显示隐藏按钮需要第一次双击

jquery - 检查过去一天是否点击过链接

javascript - 根据数据属性和类切换部分可见性