0

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

4

3 回答 3

0

首先获取 href 属性的值:

$(".more_info").attr("href")...

然后解析出这些值。尝试修改此问题的答案:

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"));
});

试试看,让我知道它是怎么回事。

于 2012-07-23T18:19:27.277 回答
0

attr()函数选择元素的一个属性,在这种情况下,“href”就是一个例子。如果您尝试访问名为“search”的 URL 变量,则需要以下代码(假设 search 变量始终是第一个):

$('.more_info').attr('href').split('&')[0].replace('search=', '');

如果它不总是第一个,那么这个快速修复就会中断,否则它很简单。

于 2012-07-23T18:20:41.253 回答
-1

尝试这个 :$(".more_info").attr('href')

于 2012-07-23T18:29:29.163 回答