Как сделать правильно установки href?

Есть src в картинке, вытаскиваю оттуда id и сохраняю в переменную, потом ссылку с id пихаю в href, но эта ссылка с id является для всех одинаковой, а надо сделать чтобы для каждой картинки был свой link


$(function() {
		$('.left-img-thumb').each(function() {
			$('.left-img-thumb').unwrap().wrap('<a class="rewrd" target="_blank"></a>');
				var urlImg = $(this).attr('src');
				var nameImg = /\/(\d+)\.(?:\w{1,5})$/.exec(urlImg);
				var j = nameImg[1];
				var link = 'http://www.anastasiadate.com/pages/lady/profile/profilepreview.aspx?LadyID=' + j;
				$('.rewrd').attr('href', link);
		});
});


<a class="rewrd" target="_blank" href="http://www.anastasiadate.com/pages/lady/profile/profilepreview.aspx?LadyID=17274311">
<img alt="karina" src="http://www.anastasiahalloween.com/wp-content/uploads/2014/10/1693884.jpg" width="235" height="240" class="left-img-thumb">
</a>
  • Вопрос задан
  • 2235 просмотров
Решения вопроса 1
@IoannGrozny
Front-end разработчик
$(function() {
		$('.left-img-thumb').each(function() {
                        // ошибка в следующей строке
			$('.left-img-thumb').unwrap().wrap('<a class="rewrd" target="_blank"></a>');
				var urlImg = $(this).attr('src');
				var nameImg = /\/(\d+)\.(?:\w{1,5})$/.exec(urlImg);
				var j = nameImg[1];
				var link = 'http://www.anastasiadate.com/pages/lady/profile/profilepreview.aspx?LadyID=' + j;
                                // и в этой
				$('.rewrd').attr('href', link);
		});
});


Вот так верно:
$(function() {
		$('.left-img-thumb').each(function() {
                          // так верно
			$(this).unwrap().wrap('<a class="rewrd" target="_blank"></a>');
				var urlImg = $(this).attr('src');
				var nameImg = /\/(\d+)\.(?:\w{1,5})$/.exec(urlImg);
				var j = nameImg[1];
				var link = 'http://www.anastasiadate.com/pages/lady/profile/profilepreview.aspx?LadyID=' + j;
                                // так будет работать, что-то я это пропустил:
				$(this).closest('.rewrd').attr('href', link);
		});
});

В вашем варианте последний атрибут применяется ко всем элементам с классом 'left-img-thumb', а ссылка в каждой итерации применяется ко всем элементам '.rewrd', а не к конкретной ссылке.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
$('.rewrd').attr('href', link);
заменить на
$(this).closest(".rewrd").attr('href', link);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы