javascript cloneNode глубокий, но измените родительский nodeType/nodeName

Как клонировать узел, а затем преобразовать это имя узла, потому что я хочу, чтобы атрибуты были скопированы и дети глубоко ( https://developer.mozilla.org/en-US/docs/Web/API/Node.cloneNode?redirectlocale=en-US&redirectslug=DOM%2FNode.cloneNode)

так как: у меня есть промежуток с кучей атрибутов и детей. я хочу то же самое, но я хочу это div

Большое спасибо

после того, как мне удалось клонировать и изменить на div, я хочу заменить диапазон. также есть ли способ клонировать всех слушателей событий на нем?

1 ответ

Решение

Следующее не обрабатывает текстовые дочерние элементы, которые находятся непосредственно под исходным элементом span, но в остальном должны работать нормально.

    mutantClone = document.createElement("div");
    for (var i=0; i<original.childNodes.length; i++){
        var child = original.childNodes[i];
        var childClone = child.cloneNode(true);
        mutantClone.appendChild(childClone);
    }
Другие вопросы по тегам