0

我正在努力找出如何在 JavaScript 中构建一个全新的 DOM 文档,添加它并从我已经拥有的 DOM 节点列表中加载它。我发现的只是愚蠢的循环方式,但我很确定这样的架构有适当的 API。但是我一个也找不到!

4

1 回答 1

-1

尝试这样的事情:

// Define a base XML document.
var xmlString = "<root>" +
    "<node id='1'>One</node>" +
    "<node id='2'>Two</node>" +
    "<node id='3'>Three</node>" +
    "<node id='4'>Four</node>" +
    "</root>";

// Use jQuery to parse it to a DOM document in a cross-browser fashion.
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​var xmlDoc = $.parseXML(xmlString);

// Grab some elements that we will write to a new document.
var node1 = xmlDoc.getElementById("1");
var node3 = xmlDoc.getElementById("3");

// Use jQuery to create the new document, then get a reference
// to the root element.
var newXmlDoc = $.parseXML("<newRoot></newRoot>");
var newRoot = newXmlDoc.getElementsByTagName("newRoot")[0];

// Clone the two elements into the new document.
newRoot.appendChild(node1.cloneNode(true));
newRoot.appendChild(node3.cloneNode(true));

// This will write out the text content of the two nodes
// we have cloned into the new document.
// Should write: "OneThree".
document.write(newXmlDoc.documentElement.textContent);

这是在 jsFiddle 中运行的代码:http: //jsfiddle.net/sajaraki/JnSzK/

它结合使用 JavaScript XML DOM 实现和 jQuery 来解决加载和创建 XML 文档时所涉及的浏览器不兼容问题。

于 2012-05-12T17:42:08.477 回答