llgruff
@llgruff
Scala

Как записать replaceWith?

Пример на codepen

Сейчас замена span на a записана так:

<span class="fancybox" data-link="" data-rel=""></span>

$('.fancybox').replaceWith(function(){
	return'<a class="fancybox" href="'+$(this).data('link')+'" rel="'+$(this).data('rel')+'" title="'+$(this).text()+'">'+$(this).html()+'</a>';
});

Как можно переписать, чтобы работало универсально:
если у span есть id / style / другие class
или наоборот нет rel / id / style ?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
@timfcsm
$('.foto .fancybox').each(function(){
  var newElem = $('<a>');
  
  newElem.html($(this).html());

  $.each($(this).prop('attributes'), function(){
     newElem.attr(this.name === 'data-link' ? 'href' : this.name, this.value); 
  });

  $(this).replaceWith(newElem);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы