Это возможно?
пример:
$('a.change').click(function(){
//code to change p tag to h5 tag
});
<p>Hello!</p>
<a id="change">change</a>
Таким образом, нажатие на привязку изменения должно привести к тому, что <p>Hello!</p>
раздел изменится на (в качестве примера) тег h5, так что вы получите <h5>Hello!</h5>
после щелчка. Я понимаю, что вы можете удалить тег p и заменить его на h5, но можно ли вообще изменить тег HTML?
"<" + el.outerHTML.replace(/(^<\w+|\w+>$)/g, "H5") + ">";
Или подключаемая функция jQuery: ссылкаВот расширение, которое сделает все это на таком количестве элементов и разными способами ...
Пример использования:
или
или даже
Источник плагина:
источник
return node;
фактически должен быть таким,return this;
как показано в «старой версии» плагина. Это essentiall для построения цепочки событий вместе , как$("tr:first").find("td").clone().replaceTag("li").appendTo("ul#list")
Вместо того, чтобы изменять тип тега, вам следует изменить стиль тега (или, скорее, тег с определенным идентификатором). Не рекомендуется изменять элементы вашего документа для применения стилистических изменений. Попробуй это:
источник
Я заметил, что первый ответ был не совсем тем, что мне нужно, поэтому я внес пару изменений и решил, что отправлю его сюда.
Улучшенный
replaceTag(<tagName>)
Аргументы:
Возвращает:
Хорошо, я знаю, что здесь есть несколько ответов, но я решил написать это еще раз.
Здесь мы можем заменить тег так же, как мы используем клонирование. Мы используем тот же синтаксис, что и .clone () с
withDataAndEvents
и,deepWithDataAndEvents
которые копируют данные и события дочерних узлов, если они используются.Пример:
Источник:
источник
.children()
не будут включать чисто текстовые узлы. Вы можете попробовать.contents()
IIRC.Идея состоит в том, чтобы обернуть элемент и развернуть содержимое:
Пример использования:
демонстрация
источник
Я придумал подход, в котором вы используете строковое представление вашего объекта jQuery и заменяете имя тега с помощью регулярных выражений и базового JavaScript. Вы не потеряете никакого контента и вам не придется перебирать каждый атрибут / свойство.
Наконец, вы можете заменить существующий объект / узел следующим образом:
источник
Это моё решение. Это позволяет переключаться между тегами.
источник
Это быстрый способ изменить HTML-теги внутри вашей DOM с помощью jQuery. Я считаю эту функцию replaceWith () очень полезной.
источник
Вы можете добиться этого по
data-*
атрибутуdata-replace="replaceTarget,replaceBy"
с помощью jQuery, чтобы получитьreplaceTarget
&replaceBy
значение по.split()
методу после получения значений, затем используйте.replaceWith()
метод.Этот
data-*
метод атрибутов позволяет легко управлять заменой любого тега без изменения ниже (общий код для замены всех тегов).Я надеюсь, что приведенный ниже фрагмент вам очень поможет.
источник
Следующая функция делает свое дело и сохраняет все атрибуты. Вы используете это, например, так:
changeTag("div", "p")
Чтобы убедиться, что это работает, проверьте следующий пример
источник
Есть ли конкретная причина, по которой вам нужно изменить тег? Если вы просто хотите увеличить текст, лучше изменить класс CSS тега p.
Что-то вроде этого:
источник