jQuery在点击时显示div,隐藏其他人

我想在我的页面上有一个显示div的文本区域并隐藏其他区域(让我们说其他8个div)。 点击后,我想要显示所选的div以及隐藏的当前div和其他div。 有一个简单的解决方案吗? 可以建立: 显示当前点击的div隐藏以前点击的div ?

这是一个使用链接方法的简单解决方案。

 $("input").click(function () { $("#" + $(this).attr("class")).show().siblings('div').hide(); }); 

jsFiddle示例使用$(“input”)
jsFiddle示例使用$(“。className”)

激活按钮可以与受影响的div的id具有相同的class ,或者您可以使用单独的“toggler”类。

重要的是使用clicked元素的独特function来映射到切换元素的独特function。

最后,如果切换divs不是兄弟,你可以使用var divs = $("#blah1, #blah2, #blah3, ...");设置所有这些var divs = $("#blah1, #blah2, #blah3, ...");的选择器var divs = $("#blah1, #blah2, #blah3, ..."); 并使用.not()切换它们。

使用.not .not()的非兄弟切换divs jsFiddle示例

这样的事怎么样?

 $(document).ready( function(){ $('div.some_class').click( function(){ // set of divs to be clickable $(this).siblings('div').hide(); // it's already showing, right? }); }); 

当然,一旦点击其他人,其他人被隐藏,你将无法将他们带回来……

它取决于DOM结构。 我个人会给他们一些课程,以便轻松访问整个小组。 $('.div-group').hide(0, function(){$('#my-div').show();});

考虑使用jQuery UI Accordion,它可能是您需要的function的答案。