Jquery каждый и атрибут - PullRequest
       53

Jquery каждый и атрибут

1 голос
/ 14 марта 2020

У меня есть несколько внешних ссылок на моей странице

<a href="http://example.com/link-1" class="ext">Label</a>
<a href="http://example.com/link-2" class="ext">Label</a>

Я пытаюсь направить ссылку ext на страницу выхода, прежде чем автоматически перенаправить ее на место назначения. Он работает нормально, но с несколькими ext ссылками на странице мой скрипт получает href из link-1 и для других ext ссылок.

Er go:

// To grab the href of the destination page i.e http://example.com/link-1
var external = $(".ext").attr('href');

// To forward to the exit page first i.e http://localhost/checkLinkURL?=http://example.com/link-1
$(".ext").attr('href', 'http://localhost/checkLinkURL?=' + external);

Я попытался обернуть вторую часть кода в функцию each, но она все еще получает только href из link-1. Я не знаю, относится ли остальная часть моего сценария к проблеме. Это довольно просто c и просто удаляет страницу выхода и автоматически пересылает к месту назначения. Но почему это не работает должным образом, даже с функцией each?

1 Ответ

1 голос
/ 14 марта 2020

Вы можете изменить атрибут href каждой ссылки, вы можете использовать .attr() с функцией обратного вызова, которая предоставляет вам текущий href в качестве второго аргумента, который вы можете использовать как Строка запроса:

$('.ext').attr('href', function(i, external) {
  return 'http://localhost/checkLinkURL?=' + external;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="http://example.com/link-1" class="ext">Label</a>
<a href="http://example.com/link-2" class="ext">Label</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...