Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
jQuery onclick显示/隐藏多个div-额外div隐藏_Jquery_Html_Hide_Show - Fatal编程技术网

jQuery onclick显示/隐藏多个div-额外div隐藏

jQuery onclick显示/隐藏多个div-额外div隐藏,jquery,html,hide,show,Jquery,Html,Hide,Show,几年前这里有一篇关于onclick show/hide divs的帖子 直到您在tab*show链接中添加一个div或span,然后内容被隐藏为止 我已经添加了一个div-side的tab1show,当你点击它的内容是隐藏的。有没有办法绕过这个问题 测试1默认值=显示 测试2 测试3 测试4 测试5 问题是因为您隐藏了所有子div,而不仅仅是顶级div,并且从不重新显示子div。要修复此问题,请将选择器更改为: 请注意>选择器的使用。也就是说,您可以通过在所有相关元素上使用公共类来改进逻辑,

几年前这里有一篇关于onclick show/hide divs的帖子

直到您在tab*show链接中添加一个div或span,然后内容被隐藏为止

我已经添加了一个div-side的tab1show,当你点击它的内容是隐藏的。有没有办法绕过这个问题


测试1默认值=显示
测试2
测试3
测试4
测试5

问题是因为您隐藏了所有子div,而不仅仅是顶级div,并且从不重新显示子div。要修复此问题,请将选择器更改为:

请注意
>
选择器的使用。也就是说,您可以通过在所有相关元素上使用公共类来改进逻辑,使用CSS来隐藏内容而不是JS,并为单击事件使用
a
元素以获得更好的可访问性。试试这个:

$('clicks')。在('click','a',函数(e)上{
e、 预防默认值();
$('#tabShows>div').hide();
var target=$(this.attr('href');
$(target.show();
});
#tabShows>div{display:none;}
#tabShows#tab1{display:block;}



测试1默认值=显示 测试2 测试3 测试4 测试5
谢谢,太好了。我会看看你建议的另一个选择,但目前还有效。
<pre>
<div id="tabShows">
<div id="tab1show">
    <div>
test 1 default = show
</div>
</div>

<div id="tab2show">
    test 2
</div>

<div id="tab3show">
    test 3
</div>

<div id="tab4show">
    test 4
</div>

<div id="tab5show">
    test 5
</div>
</div>
</pre>
$('#tabShows > div').hide();