2012-07-26 81 views
2

在ID为1-3的备用div之间当用户单击相应的链接时,如何显示每个div之间的可见性?我只想要一次显示一个div。谢谢。在多个div之间切换jQuery

<a>Link 1</a><br> 
<a>Link 2</a><br> 
<a>Link 3</a><br> 

<div id="1"> 
    <p align="left">Content 1</p> 
    </p> 
</div> 
<div id="2"> 
    <p align="left">Content 2</p> 
    </p> 
</div> 
<div id="3"> 
    <p align="left">Content 3</p> 
    </p> 
</div> 

回答

3

将id添加到您的链接,以便您可以添加事件处理程序。假设您设置链路ID对链接1,链路2,链接3,使用下面的代码要连接的事件处理程序:

$("#Link1").bind("click", function() { 
    $("#1").show(); 
    $("#2").hide(); 
    $("#3").hide(); 
}); 

代码事件处理上面的其他环节(2 & 3),调整逻辑,它显示相应的div,并隐藏其他。

一个更强大的解决方案:

<a class="myLink" divId="1">Link 1</a> 

$(".myLink").bind("click", function() { 
    $(".myDiv").hide(); 
    var divId = $(this).attr("divId"); 
    $("#" + divId).show(); 
}); 

假设您添加类“myDiv”到所有的div和类“myLink的”给所有的链接。

工作例如: http://jsfiddle.net/8XZKx/1/

+0

感谢,唯一的问题是,如果我想扩展的div量说20以上会有很多重复的代码。 – 2012-07-26 19:12:21

+0

我喜欢$(“。myDivs”)。hide();你有一个快速工作的例子吗? – 2012-07-26 19:29:25

+0

查看上次编辑...希望有所帮助。 – SimulatedBones 2012-07-26 19:40:56