jQuery onclick显示/隐藏多个div-额外div隐藏
几年前这里有一篇关于onclick show/hide divs的帖子 直到您在tab*show链接中添加一个div或span,然后内容被隐藏为止 我已经添加了一个div-side的tab1show,当你点击它的内容是隐藏的。有没有办法绕过这个问题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。要修复此问题,请将选择器更改为: 请注意>选择器的使用。也就是说,您可以通过在所有相关元素上使用公共类来改进逻辑,
测试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();