JQuery Как извлечь значение из тега href? - PullRequest
41 голосов
/ 16 мая 2009

Я новичок в JQuery.

Если у меня есть следующий тег. Какой лучший метод JQuery извлечь значение для "страницы" из href.

<a href="Search/Advanced?page=2">2</a>

Malcolm

Ответы [ 6 ]

68 голосов
/ 17 мая 2009

Первое, что приходит мне в голову, это регулярное выражение с одной строкой:

var pageNum = $("#specificLink").attr("href").match(/page=([0-9]+)/)[1];
16 голосов
/ 16 мая 2009

Здесь я вижу два варианта

var link = $('a').attr('href');
var equalPosition = link.indexOf('='); //Get the position of '='
var number = link.substring(equalPosition + 1); //Split the string and get the number.

Я не знаю, собираетесь ли вы использовать его для подкачки и у вас есть текст в теге <a>, как у вас, но если вам нужно, вы также можете сделать

var number = $('a').text();
6 голосов
/ 16 мая 2009

Прежде всего вам нужно извлечь путь примерно так:

$("a#myLink").attr("href");

Тогда взгляните на этот плагин: http://plugins.jquery.com/project/query-object

Это поможет вам обрабатывать все виды запросов, которые вы хотите сделать.

/ Питер Ф

4 голосов
/ 16 мая 2009

Вот метод, который работает путем преобразования строки запроса в JSON ...

var link = $('a').attr('href');

if (link.indexOf("?") != -1) {
    var query = link.split("?")[1];

    eval("query = {" + query.replace(/&/ig, "\",").replace(/=/ig, ":\"") + "\"};");

    if (query.page)
        alert(unescape(query.page));
    else
        alert('No page parameter');

} else {
    alert('No querystring');
}

Я бы пошел с библиотекой, как другие предлагают, хотя ... =)

0 голосов
/ 23 апреля 2013
if ($('a').on('Clicked').text().search('1') == -1)
{
    //Page == 1
}
else
{
    //Page != 1
}
0 голосов
/ 16 мая 2009

Используйте это расширение jQuery от Джеймса Падоли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...