根据URL显示/隐藏div - 在本地工作但不在实时服务器上工作

时间:2014-05-01 09:06:53

标签: javascript jquery html

我正在使用一些jQuery来显示/隐藏基于URL参数的div(?rp =):

$(function () {
      if (document.location.href.indexOf('rp') > -1) {
          $('#rphide').hide();               
       } else {
          $('#rphide').show();
       }
 });

它在本地和开发服务器上运行,但是在实时服务器上,div是永久隐藏的,即使在查询字符串中没有?rp =。我很困惑为什么会这样?感谢。

1 个答案:

答案 0 :(得分:0)

很难找到这些细节的问题,但这是另一种方法来做同样的事情。

您正在尝试在网址中搜索字符串“rp”,如果您在域名中使用rp,则效果不佳。所以更好的方法是在url中找到查询。

使用此功能获取参数。

$(function () {
      if (getQueryStringParamByName('rp') != "") {
          $('#rphide').hide();               
       } else {
          $('#rphide').show();
       }
 });


function getQueryStringParamByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}