在这种情况下,当URL显示某个参数时,我试图隐藏div:?rpid
$(document).ready(function () {
var option = 'rpid';
var url = window.location.href;
option = url.match(/option=(.*)/)[1];
showDiv(option);
});
function showDiv(option) {
$('.radio_element input_container').hide();
$('#' + option).show();
}
我在Firebug控制台中收到以下错误:
TypeError: url.match(...) is null
option = url.match(/option=(.*)/)[1];
不太清楚这里发生了什么,感谢任何帮助,谢谢。
答案 0 :(得分:0)
您的网址与/ option = / regexp导致“选项”不匹配,这意味着不是选项变量的值,而是“选项”字本身。
所以你应该使用try url.match(new RegExp(option + "="))
或url.match(/ rpid = /)。
我还建议将代码更改为
var rpid = url.match(...);
if (rpid)
showDiw(rpid[1]);
答案 1 :(得分:0)
尝试此操作以检查rpid是否在查询字符串中:
var vars = [], hash;
var q = document.URL.split('?')[1];
if(q != undefined){
q = q.split('&');
for(var i = 0; i < q.length; i++){
hash = q[i].split('=');
vars.push(hash[1]);
vars[hash[0]] = hash[1];
}
}
$(document).ready(function () {
if (vars['rpid']) {
showDiv(vars['rpid']);
}
}
function showDiv(option) {
$('.radio_element input_container').hide();
$('#' + option).show();
}