jQuery: добавление текста в существующий динамический HREF - PullRequest
6 голосов
/ 12 февраля 2010

Я пытаюсь изменить ссылку, используя jQuery. Ссылки генерируются динамически, и я не могу контролировать существующую HREF, так как они вызываются с стороннего сайта.

Используя jQuery, как я могу изменить ссылку с этого:

example.com/?one=1&two=1

к этому:

example.com/?one=1&two=1&thisisadded=true

так по существу добавление &thisisadded=true в конец ссылки?

Ссылки, которые необходимо изменить, находятся внутри своего div с классом my-link.

Ответы [ 3 ]

12 голосов
/ 12 февраля 2010
$('a.my-link').each(function () {
    var href = $(this).attr('href');
    $(this).attr('href', href + '&thisisadded=true');
});

Замените селектор jQuery-селектором, который будет соответствовать соответствующей ссылке на вашем сайте, если мой не достаточно хорош.

2 голосов
/ 12 февраля 2010
var href = $(this).attr('href');
 $(this).attr('href', href + '&thisisadded=true')

Очевидно, сделать это в контексте, где this является вашей ссылкой

1 голос
/ 12 февраля 2010

Просто используйте ваш селектор и функцию обратного вызова для attr. Это добавит дополнительную часть к каждой соответствующей ссылке:

$('a.my_link').attr('href', function(i, a){ return a + "&thisadded=true" });

При предоставлении обратного вызова для метода attr первый параметр - index, а второй параметр - исходное значение attribute. Все, что возвращается из обратного вызова, становится новым значением.

Примечание: Эта функция доступна в jQuery 1.1 и более поздних версиях. Не путайте этот метод с новым пакетом методов, которые принимают обратные вызовы, введенные в jQuery 1.4.

...