使用jquery,如何获取url查询字符串中每个字段的值? (我指的是search = value和offset = value等。)有时它不仅仅是这三个。
<a href="search=sony&offset=20&lang=en" class="more_info">Read More</a>
<a href="search=sony&offset=20&lang=en&period=3" class="more_info">Read More</a>
我尝试使用$(".more_info").attr("search")
,这应该有用,但不是。
答案 0 :(得分:0)
首先获取href属性的值:
$(".more_info").attr("href")
...
然后解析出值。尝试修改this question的答案:
function getParameterByName(name, query) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(query);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
现在你可以说:
$(".more_info").each(function () {
getParameterByName("search", $(this).attr("href"));
});
尝试一下让我知道它是怎么回事。
答案 1 :(得分:0)
attr()
函数选择元素的属性,在这种情况下,“href”就是一个例子。如果您尝试访问名为“search”的URL变量,则需要以下代码(假设搜索变量始终是第一个):
$('.more_info').attr('href').split('&')[0].replace('search=', '');
如果它不是第一个,那么这个快速修复将会中断,否则它会很简单。
答案 2 :(得分:-1)
试试这个:$(".more_info").attr('href')