Как на jQuery изменить ссылку (a href)?

Вопрос

Как с помощью jQuery изменить атрибут href у ссылки?


Ответ №1

Следующий код заменит (или добавит) атрибут href со значением http://www.google.com/ для всех ссылок на странице.

$("a").attr("href", "http://www.google.com/");

Предположим, чисто гипотетически, что у Вас на странице есть такие теги <a></a>, у которых нет атрибута href, и Вы хотите оставить их нетронутыми, то есть только заменить атрибут href на новый, но не добавлять его. Например:

<a name="mylink">Ссылка в никуда</a>
<a href="http://web-answers.ru/>Web-Answers</a>

Здесь только вторая ссылка имеет атрибут href. Если Вы выполните JavaScript в предыдущем примере, то href="http://www.google.com/" будет присвоен всем ссылкам, даже первой, у которой этого атрибута нет. Для того, чтобы выполнить действия только над «реальными» ссылками, сделаем так:

$("a[href]").attr("href", "http://www.google.com/");

Теперь предположим, что Вы хотите заменить только те ссылки, которые имеют заданное конкретное значение. Тогда Вы можете сделать что-то типа:

$("a[href='http://www.google.ru/']").attr('href', 'http://www.google.com/');

Но такая замена сработает только в том случае, если значение атрибута href будет точно совпадать с заданным. То есть http://www.google.ru/ не равно http://www.google.ru и, естественно, не равно http://google.ru/.

Начиная с jQuery версии 1.4, attr() может принимать вторым параметром функцию для обработки атрибута. Следующий код выполниться только для ссылок, у которых есть атрибут href, а затем для каждой из них выполнится замена этого атрибута. При замене используется регулярное выражение, и в результате любой адрес, который начинается http://google.com/ (например, http://google.com/something), будет заменён просто на http://google.com/.

$("a[href]").attr('href', function() {
    return this.replace(/^http:\/\/google\.com/, "http://google.com");
});

1 комментарий

  • qpavelst:

    Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

    Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и получить за это деньги.

    Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

    достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <

Добавить комментарий


(обязательно)