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的答案。