Не вдаваясь в то, зачем это нужно: эта функция заменяет собтвенные тэги (как, впрочем, и любые существующие, имя которых указано в параметре) на span
с нужным классом:
function convertToHTML(tag){
$(tag).replaceWith(function(){
return '<span class="'+tag+'">'+$(this).text()+'<span>';
});
}
Я сделал данную функцию на основе этой (источник):
$(".l2 .item").replaceWith(function(){
return ' <li class="item" > '+$(this).text()+', я кому сказал! </li>';
});
Можно ли убрать из моей функции вложенную, улучшив таким образом код?
(Если желаете дать ответ в jsfiddle
, вот рабочий код).
$(tag).replaceWith('<span class="'+tag+'">'+$(tag).text()+'<span>');
Update
Прошу прощения, замена не эквивалентна.
Если набор $(tag)
включает больше одного элемента, то $(tag).text()
- это склеенный innerText
их всех. В то время как replaceWith
с функцией вызывает эту функцию отдельно для каждого заменяемого элемента в контексте (this
) этого элемента.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста как можно вывести подписи на фото справа внизу вне зависимости от ширины, высоты и выравнивания изображения?.