Замените имя элемента, сохранив атрибуты с помощью jquery.
Я пытаюсь создать настройки jquery, где все экземпляры <i>
изменены на <em>
, Это достаточно легко сделать с:
$("i").each(function(){
$(this).replaceWith($('<em>' + this.innerHTML + '</em>'));
});
Но мне трудно понять, как изменить все <i>
теги, но сохраняют индивидуальные атрибуты. Так что если у меня есть <i style="background-color: #333;" alt="Example" title="Example">Example Text</i>
Я хотел бы изменить его на <em style="background-color: #333;" alt="Example" title="Example">Example Text</em>
Спасибо за любую помощь!
2 ответа
Неправильный подход ИМО.
Я бы порекомендовал заменить сами элементы непосредственно в DOM. Может быть, этот вопрос поможет:
Это просто
$(это).attributes(); Вы получите все атрибуты тега i для каждого экземпляра, просто поместите его в функцию замены.
Я не уверен, как вы можете играть с функцией, но в моем коде знаний будет что-то вроде этого.
$("i").each(function(){ var attribute = $(this).attributes(); $(this).replaceWith($('<em'+attributes+'>'
+ this.innerHTML + '')); });
Надеюсь, поможет.