2

我有这个代码:

<head>
<script>

        $(document).ready(function(){
        // Optional code to hide all divs
        $("div").hide();
          // Show chosen div, and hide all others
        $("a").click(function () 
        {
            $("#" + $(this).attr("class")).show().siblings('div').hide();
        });

    });

</script>

</head>

<body>
    Click a button to make it visible:<br /><br />
<a href="" class="one">One</a>
<a href="" class="two">Two</a>
<a href="" class="three">Three</a>
<a href="" class="four">Four</a><br /><br />

    <div id="one">One</div>
    <div id="two">Two</div>
    <div id="three">Three</div>
    <div id="four">Four</div><br/><br/>




</body>

我想在点击相关链接时显示一个 div。问题是这个过程只持续了几秒钟。有人知道为什么吗?谢谢

4

3 回答 3

3

使用preventDefault()

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

演示小提琴

于 2013-09-17T07:04:02.480 回答
2

您应该在 # 中指定href

<a href="#"></a>

这是演示JSFiddle

于 2013-09-17T07:03:27.203 回答
1

您可以将公共类添加到所有 div 中,例如

<div id="one" class="div">One</div>
<div id="two" class="div">Two</div>
<div id="three" class="div">Three</div>
<div id="four" class="div">Four</div>

js:

$("a").click(function (){         
    $(".div").hide();            
    $("#" + $(this).attr("class")).show().siblings('div').hide();
});
于 2013-09-17T07:10:01.080 回答