Задать вопрос
  • Как изменить сам тег с помощью js (jq)?

    Finesse
    @Finesse
    У DOM-элемента невозможно изменить тэг. Можно только заменить старый элемент на новый, перенеся всё его содержимое. Например, так:

    function replaceTag( element, newTag )
    {
        var elementNew = document.createElement( newTag );
        elementNew.innerHTML = element.innerHTML;
    
        Array.prototype.forEach.call( element.attributes, function( attr ) {
            elementNew.setAttribute( attr.name, attr.value );
        });
    
        element.parentNode.insertBefore( elementNew, element );
        element.parentNode.removeChild( element );
        return elementNew;
    }


    Функция не переносит слушатели событий. Возвращает новый элемент.
    Ответ написан
    1 комментарий