jQuery. Скопировать ссылку и добавить в нужный блок

324
11 октября 2017, 08:05

Всем, привет.

Подскажите, пожалуйста, как скопировать ссылку из блока (блоков много) и вставить ее в этот же блок. Сейчас во все блоки вставляется ссылка из первого блока.

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>');
Answer 1

У 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);
 })

А если в какой-нибудь другой то по аналогии.

Answer 2

Вот так можно, цикл по набору элементов, и в цикле вставляем 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>

Answer 3

Вот еще работающий код:

$('.item').each(function(id, elm){
  var href = $(elm).find('.link').attr('href');
  $(elm).append('<a class="button" href="'+ href + '">Заказать</a>');
});
READ ALSO
Autocomplete передача значения из select в массив

Autocomplete передача значения из select в массив

Задача: выбрать кол-во инпутов/авторов, вывести их на экран, в каждом должен работать autocomplete по ФИО юзеровПосле выбора предложенного значения...

264
Нуждаюсь в помощи в jQuery [требует правки]

Нуждаюсь в помощи в jQuery [требует правки]

Смешалось всё в кашу , чат выдаёт по 2 сообщения сразу , вот рабочий исходник ! http://installod

187
Как добавить блок с содержимым на сайт с Adobe Muse, не имея файла проекта? [требует правки]

Как добавить блок с содержимым на сайт с Adobe Muse, не имея файла проекта? [требует правки]

Я так понимаю, каждый id отвечает за свой стиль? и необходимо увеличить или уменьшить где-то маржин и добавить свой блок между ними?

256
Как добавить анимацию к свг ?

Как добавить анимацию к свг ?

Задавал здесь же вопрос про эту цифру, а как добавить всю это анимацию в css, к примеру если класс дать, тогда будет анимацияХочу сделать, так...

193