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 に答える