<a href="?id=2" id="showdiv">Open div and store values</a>
<div id="divtoshow" style="display:none;">Hello</div>
$("a#showdiv").click(function(){
$("#divtoshow").show();
}
当我点击链接时,它必须显示div并添加查询字符串但它不起作用,因为如果我单击链接它会重新启动页面以添加查询字符串,然后div将不会显示。但是我仍然需要它来添加查询字符串。
答案 0 :(得分:1)
只需将锚点更改为
即可<a href="#showDiv?id=2" id="showdiv">Open div and store values</a>
简单来说,它不会刷新页面,而是带来ID showdiv
的元素来查看。当然,如果它存在..
答案 1 :(得分:0)
1)由于ID是唯一的,因此您可以使用#showdiv
代替a#showdiv
2)使用e.preventDefault()
来阻止点击的默认行为
3)您遗失#
来定位ID为divtoshow
$("#showdiv").click(function(e){
e.preventDefault();
$("#divtoshow").show();
});
答案 2 :(得分:0)
使用preventDefault
来阻止默认操作:
$("#showdiv").click(function(e){
e.preventDefault();
$("#divtoshow").show();
}
答案 3 :(得分:0)
你可以:
$("a#showdiv").click(function(e){
e.preventDefault();
e.stopPropagation();// not sure if needed.
$("#divtoshow").show();
}
它应该停止链接正常行为。
修改强> 用于添加div的文本点击:
$("a#showdiv").click(function(e){
e.preventDefault();
e.stopPropagation();// not sure if needed.
var id = $('#showdiv').attr('id').split('=')[1];// if only one parameter posible
$("#divtoshow").show();
}
答案 4 :(得分:0)
答案 5 :(得分:0)
试试这个
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
并在document.ready()
上if(getParameterByName("id") == 2)
{
$("#divtoshow").show();
}