基本上我有这样的链接:
<a href="file.php?value=this&something=so&please=help">special link</a>
当我点击它时,我希望能够轻松引用变量。
例如
之类的东西$(document).ready(function){
$('a').click(function(){
var myvalue = $(this).attr('href........
/// and thats as far as I know!
return false;
});
});
如何访问这些变量?
答案 0 :(得分:3)
jQuery不支持读取内置的查询字符串(如果确实如此,我从未找到它)。
您可以手动处理document.location.search,但是您必须手动将其拆分为&amp; (然后再次=)以及url解码它。
但是,有一些jQuery插件可以帮到你:
奇怪的是,jQuery有一个内置函数来执行相反的操作... $.param(obj)会将数组或javascript对象转换为查询字符串。
答案 1 :(得分:1)
location.search,不确定为什么需要jquery。此外,如果您正在处理链接,请尝试使用link.search
这个快速代码段工作
<a href='http://www.google.com/?id=asdfasdfasdf' id='tes1'>asdfasdf</a>
<input type='button' onclick='alert(document.getElementById("tes1").search)'>
答案 2 :(得分:1)
答案 3 :(得分:1)
答案 4 :(得分:1)
我正在使用上面建议的一个简单函数 - 在&符号上分开,再在等号上分开。
var urlObj = location.search
var params = urlObj.slice(1).split("&")
var map = {}
for (var i=0; i < params.length; i++){
var item = params[i]
var key = item.match(/^.*\=/)[0].replace(/\=/,"")
var value = item.match(/\=.*$/)[0].replace(/\=/,"")
map[key] = value
}
答案 5 :(得分:0)
没有任何内置的jQuery可以让你这样做。您可以使用plugin来解析网址。所以基本上你的代码看起来像:
$('a').click(function(evt) {
var myValue = jQuery.url.setUrl(this.href).param('value');
evt.preventDefault();
});