当用户点击“总统[+]”时,我想通过跳转到该页面区域来显示隐藏元素(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();
});
我想知道锚标签是否由于显示/隐藏而无效......或者我遗漏了一些重要的东西。
答案 0 :(得分:2)
您必须删除e.preventDefault();
,否则将取消锚元素(导航)的默认行为。
答案 1 :(得分:0)
我相信你只是想插入:
<a name="pres"></a>
位于#pres
div。