JavaScript でまったく新しい DOM ドキュメントを作成し、それを追加して、既に持っている DOM ノード リストからロードする方法を見つけるのに苦労しています。私が見つけたのは愚かなループ方法だけですが、そのようなアーキテクチャには適切な API があると確信しています。でも見つからない!
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 に答える