我正在使用一些jQuery来显示/隐藏基于URL参数的div(?rp =):
$(function () {
if (document.location.href.indexOf('rp') > -1) {
$('#rphide').hide();
} else {
$('#rphide').show();
}
});
它在本地和开发服务器上运行,但是在实时服务器上,div是永久隐藏的,即使在查询字符串中没有?rp =。我很困惑为什么会这样?感谢。
答案 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, " "));
}