Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一次切换一个Div/单击打开Div,它将关闭_Javascript_Html - Fatal编程技术网

Javascript 一次切换一个Div/单击打开Div,它将关闭

Javascript 一次切换一个Div/单击打开Div,它将关闭,javascript,html,Javascript,Html,我正在尝试切换div,以便一次只能打开一个div。我已经查看了提供的其他解决方案,但是提供的解决方案是这样的,如果我再次单击open div,它就不会关闭。我正在寻找当前打开的div在单击时再次关闭。感谢您给予的任何帮助。提前谢谢 JSFIDDLE: HTML JS: 除非有必要,否则只需抬起头,以避免“重新发明轮子”。引导程序库有一个折叠元素,可以满足您的需要 看看它是否符合要求。从Twitter引导库创建了一个折叠元素 <table class="table table-condens

我正在尝试切换div,以便一次只能打开一个div。我已经查看了提供的其他解决方案,但是提供的解决方案是这样的,如果我再次单击open div,它就不会关闭。我正在寻找当前打开的div在单击时再次关闭。感谢您给予的任何帮助。提前谢谢

JSFIDDLE:

HTML

JS:

除非有必要,否则只需抬起头,以避免“重新发明轮子”。引导程序库有一个折叠元素,可以满足您的需要


看看它是否符合要求。

从Twitter引导库创建了一个折叠元素

<table class="table table-condensed" style="border-collapse:collapse;">
                    <thead>
                        <tr>
                            <th>Title</th>
                            <th>From</th>
                            <th>Utensil</th>
                        </tr>
                    </thead>

                    <tbody>
                        <tr class="list">
                            <td data-toggle="collapse" data-target="#cupcakes" class="accordion-toggle">Cupcakes</td>
                            <td class="from">Molly's Cupcakes</td>
                            <td>Chopsticks</td>
                        </tr>

                        <tr>
                            <td colspan="10" class="hiddenRow"><div class="accordion-body collapse" id="cupcakes">hello</div></td>
                        </tr>


                        <tr class="list">
                            <td data-toggle="collapse" data-target="#pizza" class="accordion-toggle">Pizza</td>
                            <td class="from">Roberta's</td>
                            <td>Knife</td>
                        </tr>

                        <tr>
                            <td colspan="10" class="hiddenRow"><div class="accordion-body collapse" id="pizza">bye</div></td>
                        </tr>


                        <tr class="list">
                            <td data-toggle="collapse" data-target="#pasta" class="accordion-toggle">Pasta</td>
                            <td>Basta Pasta</td>
                            <td>Spoon</td>
                        </tr>

                        <tr>
                            <td colspan="10" class="hiddenRow"><div class="accordion-body collapse" id="pasta">hi</div></tr>
                        </tr>

</tbody>
</table>

标题
从…起
器具
纸杯蛋糕
莫莉纸杯蛋糕
筷子
你好
披萨
罗伯塔的
刀
再见
意大利面食
巴斯塔面食
勺子
你好

JSFIDLE中的代码与您发布的代码不匹配。“没关系。”安德烈·杰瑟普对此表示歉意。更新了。那你能澄清一下说明吗?此代码是一个表,没有-单击时需要打开/关闭什么?而且,JSFIDLE中的代码不“工作”(单击时没有更改)。这是预期的吗?@AndreaJessup当用户单击.title时,它应该显示.description。有可能在一张桌子上实现吗?是的,JSFIDLE中的当前代码不起作用。谢谢你的帮助,我设法使它与折叠元素一起工作。谢谢你的帮助
.description{
    display:none;
}
    $('.title').on('click', function() {
      var $this = $(this),
          $next = $this.next();

      // Check if another profile is open and close it
      var $last = $('.description:visible', $this.parents('table'));

      if ($last.length) {
        $last.slideUp('fast');
      }

      // Show the new profile content only if we are opening a new profile
      if ($last.parents('.list').index() !== $this.parent().index()) {
        $next.slideDown('fast');
      }
    });
<table class="table table-condensed" style="border-collapse:collapse;">
                    <thead>
                        <tr>
                            <th>Title</th>
                            <th>From</th>
                            <th>Utensil</th>
                        </tr>
                    </thead>

                    <tbody>
                        <tr class="list">
                            <td data-toggle="collapse" data-target="#cupcakes" class="accordion-toggle">Cupcakes</td>
                            <td class="from">Molly's Cupcakes</td>
                            <td>Chopsticks</td>
                        </tr>

                        <tr>
                            <td colspan="10" class="hiddenRow"><div class="accordion-body collapse" id="cupcakes">hello</div></td>
                        </tr>


                        <tr class="list">
                            <td data-toggle="collapse" data-target="#pizza" class="accordion-toggle">Pizza</td>
                            <td class="from">Roberta's</td>
                            <td>Knife</td>
                        </tr>

                        <tr>
                            <td colspan="10" class="hiddenRow"><div class="accordion-body collapse" id="pizza">bye</div></td>
                        </tr>


                        <tr class="list">
                            <td data-toggle="collapse" data-target="#pasta" class="accordion-toggle">Pasta</td>
                            <td>Basta Pasta</td>
                            <td>Spoon</td>
                        </tr>

                        <tr>
                            <td colspan="10" class="hiddenRow"><div class="accordion-body collapse" id="pasta">hi</div></tr>
                        </tr>

</tbody>
</table>