1

2つのxmldomオブジェクトを1つずつコピー/クローンします。

質問が重複している場合は申し訳ありません...私はすでに試しまし たJavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?

しかし、jqueryは不正な呼び出しをスローします

編集: XMLはajax呼び出しから来ます

function FetchXMLData() {
                $.ajax({
                    url : "resources/data.xml",
                    data : requestVars,
                    dataType : 'xml',
                    success : function(xml) {
                        XMLParser(xml);
                        xmlOrig = $(xml).clone(); // I want to do something like this
                    },
                    error : function(xhr, err) {
                        ShowErrors(xhr, err);
                    }
                });
            }

編集2:今、私はjavascript cloneNodeを使用しています。これは、IEとFFで完全に機能しますが、Chromeでは失敗します。これを参照してください。誰かが回避策を知っているなら、私は感謝するでしょう。

4

1 に答える 1

1

私はそれが古い質問であることを知っています、しかし私はちょうどこれと同じ問題を抱えていて、それをテキストにそして再びXMLに変換することを解決しました。

持っている:

(...)
success : function(xml) {
    XMLParser(xml);
    xmlOrig = cloneXML(xml);
},
(...)

// auxiliar function to clone XML
function cloneXML(xml) {
    var xml_text = (new XMLSerializer()).serializeToString(xml);
    return $.parseXML(xml_text); // return XML document
}

この回避策は、Firefox49.0.2およびChrome54.0.2840.71で機能しました。

誰かがより良い方法を知っているなら、答えてください。

于 2016-10-27T21:17:08.670 に答える