jQuery (Замена ссылка)

A
На сайте с 13.09.2008
Offline
118
836

Добрый день, подскажите с правильной реализацией.

Есть ссылки и код:

<span class="ic-init" data-link="LINK1">

<span class="ic-init" data-link="LINK2">
<script>$('.ic-init').click(function(){window.open($(this).data('link'));return false;});</script>

Все нормально открывается, дальше у нас есть задача частично подменить ссылку, для этого используем код:

<script>var dataLink = $(".ic-init").attr("data-link");var newDataLink = "NEW_LINK"+dataLink;$(".ic-init").attr("data-link", newDataLink);</script>

Подмена происходит, но происходит, то что все ссылки стали вести на NEW_LINK+LINK1.

Заранее большое спасибо!

Realbig.Media (https://realbig.media/link/964) - лучшая система по монетизации пушей! Рекомендую!
Playerror
На сайте с 28.09.2008
Offline
117
#1

Не понятно, что нужно


<script>
$('.ic-init').click(function(){
var dataLink = $(this).attr("data-link");
var newDataLink = "NEW_LINK"+dataLink;
$(".ic-init").attr("data-link", newDataLink);
window.open($(this).data('link'));
return false;
});
</script>
A
На сайте с 13.09.2008
Offline
118
#2

Есть ссылка которая находится в data-link="LINK1" , при нажатии открывается (первая часть кода).

Нужно, что бы data-link стало "NEW_LINK+LINK1" и соответственно открывалась уже новая ссылка (За это отвечает вторая часть кода, и она работает).

Но проблема в том, что на странице несколько элементов data-link, и они все меняются на ОДНУ ссылку (первую).

Я так понимаю, как то надо применить ко второй части $(this) , но как не могу разобраться.

Playerror
На сайте с 28.09.2008
Offline
117
#3

Попробуйте заменить


$(".ic-init").attr("data-link", newDataLink);

//на

$(this, ".ic-init").attr("data-link", newDataLink);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий