Javascript 在querystring中存储值但仍显示div 我的HTML: 我的问题是:

Javascript 在querystring中存储值但仍显示div 我的HTML: 我的问题是:,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当我单击链接时,它必须显示div并添加查询字符串,但它不起作用,因为如果我单击链接,它将重新启动页面以添加查询字符串,然后div将不显示。但是我仍然需要它来添加查询字符串。1)由于id是唯一的,您可以使用#showdiv而不是a#showdiv 2) 使用e.preventDefault()来防止单击的默认行为 3) 您缺少id为divtoshow的目标div的 $("#showdiv").click(function(e){ e.preventDefault(); $("#di

当我单击链接时,它必须显示div并添加查询字符串,但它不起作用,因为如果我单击链接,它将重新启动页面以添加查询字符串,然后div将不显示。但是我仍然需要它来添加查询字符串。

1)由于id是唯一的,您可以使用
#showdiv
而不是
a#showdiv

2) 使用
e.preventDefault()
来防止单击的默认行为

3) 您缺少id为divtoshow的目标div的

$("#showdiv").click(function(e){
    e.preventDefault();
    $("#divtoshow").show();
});

使用
preventDefault
防止默认操作:

 $("#showdiv").click(function(e){
   e.preventDefault();
   $("#divtoshow").show();
  }
你可以:

$("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();
}

使用以下JQuery代码

$("#showdiv").click(function(e){
    e.preventDefault();
    $("#divtoshow").show();
});

只需将锚更改为

<a href="#showDiv?id=2" id="showdiv">Open div and store values</a>

简单来说,它不会刷新页面,而是将id为showdiv的元素带到视图中,。当然,如果它存在的话。

试试这个

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()上


但是我仍然需要它来添加查询字符串。如果不重新加载页面,您就不能这样做。但是我仍然需要它来添加查询字符串。它将如何添加它,但我仍然需要它来添加查询字符串。我不知道我是否理解,你的意思是添加所单击div的文本吗?如果是这样的话:没有回邮你就做不到。看见
<a href="#showDiv?id=2" id="showdiv">Open div and store values</a>
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, " "));
        }
if(getParameterByName("id") == 2)
{
    $("#divtoshow").show();
}