jquery relative a href =“#”删除显示块

时间:2013-08-13 08:04:46

标签: javascript jquery ajax

<li><a href="#section17"><b>Arbeiten</b></a></li>

这是链接。当我点击它时,它将div(#section17)的id从display none更改为block。

<li><a href="#section15"><b>Feiern</b></a></li>

现在,如果我点击另一个链接(#section15),它应该将显示:块从#section17更改为显示:none再次显示,并将链接(#section15)更改为显示块

页面不会重新加载网址更改一点点。 任何人都可以帮助我吗?

<script type="text/javascript">
    $("a").click(function () {
    var addressValue = $(this).attr("href");
    $(addressValue).css("display","block");
    });

</script>;

4 个答案:

答案 0 :(得分:0)

您必须取消链接的默认行为:

$("a").click(function (event) {
    event.preventDefault();
    var addressValue = $(this).attr("href");
    $(addressValue).css("display","block");
});

答案 1 :(得分:0)

DEMO: http://jsfiddle.net/gvee/qba7e/

HTML

<ul>
    <li><a href="#section17"><b>section 17</b></a>
    </li>
    <li><a href="#section18"><b>section 18</b></a>
    </li>
    <li><a href="#section19"><b>section 19</b></a>
    </li>
</ul>
<div id="sections-container">
    <div id="section17">section 17</div>
    <div id="section18">section 18</div>
    <div id="section19">section 19</div>
</div>

JQuery的

$('a').click(function (e) {
    // Prevent jumping to anchor
    e.preventDefault();

    // Hide all other sections
    $('#sections-container > div').css('display', 'none');

    // Show only one we want
    var addressValue = $(this).attr('href');
    $(addressValue).css('display', 'block');
});

答案 2 :(得分:0)

如果您为所有部分提供sectionClass类,则隐藏此类的所有元素,并在点击时显示相关的元素,您应该开展业务。

$("a").click(function (e) {
    e.preventDefault();
    var addressValue = $(this).attr("href");
    $(".sectionClass").hide();
    $(addressValue).show();
});

答案 3 :(得分:0)

你的代码应该是这样的

<script type="text/javascript">
        function HideShow(ctrl) {
            var addressValue = $(ctrl).attr("href");
            $(addressValue).css("display", "block");
        }
    </script>
    <li><a href="#section17" onclick="HideShow(this);"><b>Arbeiten</b></a></li>
    <li><a href="#section15" onclick="HideShow(this);"><b>Feiern</b></a></li>