javascript cloneNode深度,但更改父节点类型/nodeName

javascript cloneNode深度,但更改父节点类型/nodeName,javascript,clone,dom4,Javascript,Clone,Dom4,如何克隆节点,然后转换节点名,因为我想复制属性和子节点() 比如:我有一个跨度,有一堆属性和子元素。我想要同样的东西,但我想要一个div 非常感谢 在我成功克隆并更改为div之后,我想用它替换span。还有一种方法可以克隆其上的所有事件侦听器吗?以下内容不处理直接位于原始span元素下的文本子元素,但在其他方面应该可以正常工作 mutantClone = document.createElement("div"); for (var i=0; i<original.chil

如何克隆节点,然后转换节点名,因为我想复制属性和子节点()

比如:我有一个跨度,有一堆属性和子元素。我想要同样的东西,但我想要一个div

非常感谢


在我成功克隆并更改为div之后,我想用它替换span。还有一种方法可以克隆其上的所有事件侦听器吗?

以下内容不处理直接位于原始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);
    }
mutantClone=document.createElement(“div”);

对于(var i=0;iNo),您无法克隆事件侦听器。节点名是不可变的,因此您需要创建新元素并将所有子节点复制到“更改”节点名。但是你需要它做什么?难道还不够吗?嗨,Bergi,谢谢你的回复。在GitHub上,你自己的注册表上没有Fork按钮。所以我在其中添加了一个,我这样做的方式是克隆“star”按钮,然后更改为fork href。我用jquery完成了这个克隆,但我想用本机函数。请参阅第46行的要点(),我用jquery完成了这个克隆。我将它从一个span改为“a”,因为当count为0时它原来是一个span。但是span上的href不好。