隐藏并显示div单击a

时间:2013-10-22 05:44:05

标签: javascript php jquery html css

我想隐藏身份证 当我点击一个href所以它的同一个id显示,其他id将自动关闭

示例:

<div id="fit" class="heading">FIT</div>
<a href="#er">first</a>
<div id="er" style="display:none;">aksdjfhaskdj hskj hskjfh sd fghjgfdjf gdsjfdg jdfgjdf gjgdfjgfdjf gasdkjfasjfghsdj </div>
<a href="#erp">erp</a>
<div id="erp" style="display:none;">erp </div>
<div id="style" class="heading">style</div>

和脚本:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(document).ready(function(e) {
    $("a").click(function(e) {
        var ab = $(this).attr("href");
        //alert(ab);
        //$("div").hide();
        $(ab).show();

    });
});
</script>

5 个答案:

答案 0 :(得分:2)

在html使用类中用于锚定相关div

<div id="fit" class="heading">FIT</div>
<a href="#er">first</a>
<div id="er" style="display:none;" class="anchorrel">aksdjfhaskdj hskj hskjfh sd fghjgfdjf gdsjfdg jdfgjdf gjgdfjgfdjf gasdkjfasjfghsdj </div>
<a href="#erp">erp</a>
<div id="erp" style="display:none;" class="anchorrel">erp </div>
<div id="style" class="heading">style</div>




<script>
    $(document).ready(function(e) {
        $("a").click(function(e) {
        e.preventDefault();
            var ab = $(this).attr("href");
            //alert(ab);
            $(".anchorrel").hide();// all div related to .anchorrel hide
            $(ab).show();

        });
    });
    </script>

参见 demo

答案 1 :(得分:1)

你可以这样做:

$(document).ready(function (e) {

    // Cache the anchor tag here
    var $link = $('a');

    // Click event handler for the link
    $link.click(function (e) {

        // prevent the default action of the anchor
        e.preventDefault();

        var id = this.href;

        // Hide all the visible divs next to all the anchors
        $link.next('div:visible').hide();

        // Show the current div with id
        $(id).show();
    });
});

答案 2 :(得分:0)

如果您不想关闭所有其他div并且只显示id与匹配的标签的href相匹配的div,请使用以下内容:

$("a").click(function(e) {
    var ab = $(this).attr("href");
    $('div').hide();
    $(ab).show();
});

我不知道你为什么要在第一时间发表评论,也许我不明白你想要实现的目标。

这是一个小提琴:http://jsfiddle.net/25RZR/

答案 3 :(得分:0)

Fiddle

的JavaScript

$(document).ready(function(e) {
    $("a").click(function(e) {
        var ab = $(this).attr("href");  
        $('.content').hide();
        $(ab).show();

    });
});

HTML

<div id="fit" class="heading">FIT</div>
<a href="#er">first</a>
<div id="er" class="content hide">aksdjfhaskdj hskj hskjfh sd fghjgfdjf gdsjfdg jdfgjdf gjgdfjgfdjf gasdkjfasjfghsdj </div>
<a href="#erp">erp</a>
<div id="erp" class="content hide">erp </div>
<div id="style" class="heading">style</div>

答案 4 :(得分:0)

你可以用这种方式做得更好:

$(document).ready(function(e) {
  $("a").click(function (e) {
      e.preventDefault; // <------------stop the default behavior
      var ab = $(this).attr('href'); // <------better to use in terms of performance
      $(ab).show().siblings('div:not(.heading)').hide();
  });
});

Demo in action