在我的js文件中,我根据从API中提取的一些数据输出超链接:
output += '<a class="reg_link" href="'+regObj.href+'?reg='+value+'" title="'+regObj.title+'" target="_blank">';
这很好用。但是,稍后我想找出?reg=
值是什么。
$(".reg_link").each(function() {
// How do I get the GET variable from the URL?
});
我试图抓住GET变量的值。我该怎么做?
答案 0 :(得分:2)
首先,您不应该通过将数据连接到HTML来创建HTML。您可能会冒险创建无效的HTML并自行解决注入问题。此外,无论您将哪些内容连接到URL,都不能编码以便在URL中使用。试试这个
$('<a>')
.addClass('reg_link')
.attr('href', '?' + $.param({
reg: value
})
.attr('title', regObj.title)
.attr('target', '_blank')
接下来,要稍后再获取该属性:
$('.reg_link').each(function () {
console.log($(this).attr('href'));
});
如果要解析查询字符串中的参数,请参阅有关的现有问题:https://stackoverflow.com/a/6644712/362536
答案 1 :(得分:0)
来自How can I get query string values in JavaScript?
你不需要为此目的使用jQuery。您只能使用一些纯JavaScript:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
用法:
var reg = getParameterByName('reg');