获取url querystring的值

时间:2012-07-23 18:10:08

标签: jquery

使用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"),这应该有用,但不是。

3 个答案:

答案 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')