锚标签不能与show / hide一起使用

时间:2013-08-21 19:51:20

标签: jquery html

当用户点击“总统[+]”时,我想通过跳转到该页面区域来显示隐藏元素(id =“pres”)。问题是它不会跳转到该区域,但它显示隐藏的元素。这是我的HTML代码:

<p><a id="Pres" href="#pres"> <b>President :</b> Name <span>[+]</span> </a></p>

<div id="pres">
<a href="images/pres.jpg" rel="lightbox[group101]" class="membersPhotosVer"><img src="images/pres.jpg"  /></a> <br/>
<p> bla bla bla </p>            
</div>

Jquery代码:

$("#pres").hide();
$("#vp").hide();
$("#sec").hide();
$("#fin").hide();
$("#med").hide();
$("#ev").hide();
var pvsfme = $("#pres,#vp,#sec,#fin,#med,#ev");
var PVSFME = $("#Pres,#Vp,#Sec,#Fin,#Med,#Ev");

PVSFME.click(function(e){
    e.preventDefault();
    var cli = $('#'+this.id.toLowerCase());
    cli.show();
    pvsfme.not(cli).hide();
    $(this).addClass("media-selected");
    PVSFME.not(this).removeClass("media-selected");
    $(this).children("span").text("[-]").show();
    PVSFME.not(this).children("span").text("[+]").show();
});

我想知道锚标签是否由于显示/隐藏而无效......或者我遗漏了一些重要的东西。

2 个答案:

答案 0 :(得分:2)

您必须删除e.preventDefault();,否则将取消锚元素(导航)的默认行为。

答案 1 :(得分:0)

我相信你只是想插入:

<a name="pres"></a>

位于#pres div。

的顶部