克隆节点并附加到xml

时间:2012-01-12 06:35:29

标签: javascript xml

我需要一些javascript(不是JQuery等)代码来复制克隆节点并在下一步插入它 到复制的节点。例如。

<a>
    <b>
        <ab></ab>
        <bc></bc>
    </b>
</a>

现在从源xml复制<b>节点并将其作为下一个兄弟附加后,

    <a>
        <b>
            <ab></ab>
            <bc></bc>
        </b>
        <!-- this is the copied node that will be appended. -->
        <b>
            <ab></ab>
            <bc></bc>
        </b>
        <!-- copied node ends here. -->
    </a>

我将不胜感激如果某些机构向我展示了一些代码示例,该示例在至少Mozilla2和IE5 +中得到支持。 CloneNode方法在主要浏览器的许多原始版本中无法正常工作。但是,所有IE浏览器都支持CloneNode。所以cloneNode方法不是解决方案。

1 个答案:

答案 0 :(得分:2)

假设您通过ID获取所需的节点,以下是克隆现有节点并将克隆作为兄弟节点附加的方法:

var node = document.getElementById("toBeCloned");
var parentNode = node.parentNode;
alert(parentNode.outerHTML);
var clonedNode = node.cloneNode(true);
clonedNode.removeAttribute("id");
parentNode.appendChild(clonedNode);
alert(parentNode.outerHTML);

alerts将显示XML在插入之前和之后的显示内容。

此代码适用于Mozilla和任何合理版本的IE。我无法保证IE5能够支持IE7,因为我无法访问这些浏览器。