在我的脚本中有一个简单的列表显示编辑链接
<ul>
<li><a href="edit.php?id=5" class="edit">click here</a></li>
<li><a href="edit.php?id=5" class="edit">click here</a></li>
<li><a href="edit.php?id=5" class="edit">click here</a></li>
<li><a href="edit.php?id=5" class="edit">click here</a></li>
</ul>
我需要的是读取变量 id 以便我可以通过 .ajax 调用发送它,我尝试了这个函数
$(document).ready(function(){
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1)
.split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
$('.edit').click(function(){
var test = getUrlVars()["id"];
alert(test);
});
});
当我单击链接时,警报消息显示undefined
。
我尝试了另一个功能:
$(document).ready(function(){
var urlParams = {};
(function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function(s) {
return decodeURIComponent(s.replace(pl, " "));
},
query = window.location.search.substring(1);
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
$('.edit').click(function(){
var test = urlParams["id"];
alert(test);
});
});
...但即使这样也显示了警报消息undefined
。