Всем, привет.
Подскажите, пожалуйста, как скопировать ссылку из блока (блоков много) и вставить ее в этот же блок. Сейчас во все блоки вставляется ссылка из первого блока.
html
<div class="item">
<a class="link" href="#">Ссылка</a>
</div>
<div class="item">
<a class="link" href="#">Ссылка</a>
</div>
jQuery
var lnk = $('.item').find('.link').attr('href');
$('.item').append('<a class="button" href="'+ lnk + '">Заказать</a>');
У jQuery есть отличный метод .clone() который копирует (если нужно с обработчиками событий).
var items = $('.item'),
lnk = item.find('.link').clone(true);
lnk.appendTo(item);
Если надо пройтись по всем блокам и потом скопировать каждую ссылку в тот же блок в котором она была то:
var items = $('.item');
items.each(function(){
var $this = $(this),
lnk = $this.find('.link').clone(true);
lnk.appendTo($this);
//если привыкли к append то
$this.append(lnk);
})
А если в какой-нибудь другой то по аналогии.
Вот так можно, цикл по набору элементов, и в цикле вставляем href в нутрь самого тега.
$('.link').each(function(i,elem) {
$(this).text($(this).attr('href'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">
<a class="link" href="Ссылка 1">Ссылка</a>
</div>
<div class="item">
<a class="link" href="Ссылка 2">Ссылка</a>
</div>
Вот еще работающий код:
$('.item').each(function(id, elm){
var href = $(elm).find('.link').attr('href');
$(elm).append('<a class="button" href="'+ href + '">Заказать</a>');
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости