Javascript 当div为';已经开门了吗?

Javascript 当div为';已经开门了吗?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想不出更好的标题了,所以我会尽可能清楚地解释我的问题。我是JQuery的新手,所以这可能是一个非常简单的问题 我有一些有按钮的沙发。单击该按钮时,将弹出另一个div。 我的问题是:单击另一个按钮时,如何使已打开的div关闭 我修改了一些示例代码: 下面的示例代码是: HTML: 例如,当show_1可见时,我单击div2中的按钮,我希望出现show_2,但show_1会消失 有人能给我指出正确的方向吗?在显示所需的div之前,可以隐藏他们的类以“show”开头的所有div。例如: $('.s

我想不出更好的标题了,所以我会尽可能清楚地解释我的问题。我是JQuery的新手,所以这可能是一个非常简单的问题

我有一些有按钮的沙发。单击该按钮时,将弹出另一个div。 我的问题是:单击另一个按钮时,如何使已打开的div关闭

我修改了一些示例代码:

下面的示例代码是:

HTML:

例如,当
show_1
可见时,我单击div2中的按钮,我希望出现
show_2
,但
show_1
会消失


有人能给我指出正确的方向吗?

在显示所需的div之前,可以隐藏他们的类以“show”开头的所有div。例如:

$('.showDiv')。在('click',function()上{
var id=$(this.attr('id');
$(“div[class^='show']).hide();//find div类以'show'开头并隐藏它们
$('.show'+id).show();
});
.test{
边框:1px纯黑;
高度:100px;
宽度:450px;
浮动:左;
}
.show_1{
宽度:50px;
高度:50px;
背景颜色:黄色;
浮动:左;
显示:无;
}
.show_2{
宽度:50px;
高度:50px;
背景颜色:绿色;
浮动:左;
显示:无;
}
.包装纸{
明确:两者皆有;
}



文档的结构是否固定? 是那么。。。我想做这件事最简单的方法就是做以下事情:

$('.showDiv')。在('click',function()上{
var id=$(this.attr('id');
如果(id==1){
$('.show_1').show();
$('.show_2').hide();
}否则{
$('.show_2').show();
$('.show_1').hide();
}        

})
谢谢!甚至都没想到这是真的在我的实际代码中,这不是一个选项,因为我有超过50个动态生成的div,但这可能是其他人的一个选项:)请注意,以数字开头的id(例如
id=“1”
)在HTML5中被视为“坏习惯”,在以前的HTML规范中实际上是无效的。请参见HTML4和HTML5的id属性的定义。
<div class="wrapper">
    <div class="test">
        <input type='button' class='showDiv' id="1" value='click!' />    
    </div>
    <div class="show_1">

    </div>
</div>
<br>
<div class="wrapper">
    <div class="test">
        <input type='button' class='showDiv' id="2"value='click!' /> 
    </div>
    <div class="show_2">

    </div>
</div>
$('.showDiv').on('click', function(){
    var id = $(this).attr('id');
    $('.show_'+id).show();
});