【问题标题】:Toggle between multiple divs jQuery在多个 div 之间切换 jQuery
【发布时间】:2012-07-26 18:59:36
【问题描述】:

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

<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>

【问题讨论】:

    标签: html toggle alternate


    【解决方案1】:

    将 id 添加到您的链接中,以便您可以添加事件处理程序。假设您将链接 ID 设置为 Link1、Link2、Link3,请使用以下代码连接事件处理程序:

    $("#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/

    【讨论】:

    • 谢谢,唯一的问题是如果我想将 div 的数量扩展到 20 个或更多,将会有很多重复的代码。
    • 我喜欢 $(".myDivs").hide(); 的想法你有一个快速工作的例子吗?
    • 太棒了!感谢 SimulatedBones,正是我想要的