jQuery: как изменить имя тега?

jQuery: как изменить имя тега?

Например:

<tr>
    $1
</tr>

Мне нужно

<div>
    $1
</div>

Да, я могу

  1. Создать элемент DOM
  2. Скопировать содержимое tr в div
  3. Удалить tr из dom

Но могу ли я сделать это напрямую?

PS:

    $(tr).get(0).tagName = "div"; 

приводит к DOMException .

57
задан Peter Mortensen 28 August 2010 в 14:29
поделиться

2 ответа

Вы можете заменить любую HTML-разметку с помощью метода jQuery .replaceWith().

пример: http://jsfiddle.net/JHmaV/

Ref.: . replaceWith

Если вы хотите сохранить существующую разметку, можно использовать такой код:

$('#target').replaceWith('<newTag>' + $('#target').html() +'</newTag>')
38
ответ дан 24 November 2019 в 19:29
поделиться

Нет, это невозможно в соответствии со спецификацией W3C: "tagName типа DOMString, только для чтения"

http://www.w3.org/TR/DOM-Level-2- Core / core.html

45
ответ дан 24 November 2019 в 19:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: