0

我想在单击 href 时隐藏 id,以便显示相同的 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>
4

5 回答 5

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>

演示

于 2013-10-22T05:47:54.033 回答
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();
    });
});
于 2013-10-22T05:51:48.660 回答
0

如果您不想关闭所有其他 div 并仅显示 id 与单击的标签的 href 匹配的 div,请使用以下命令:

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

我不知道你为什么首先评论它,也许我不明白你想要实现什么。

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

于 2013-10-22T05:49:13.600 回答
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();
  });
});

演示在行动

于 2013-10-22T06:00:06.650 回答
0

小提琴

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>
于 2013-10-22T05:51:55.347 回答