1. ホーム
  2. javascript

[解決済み] HTMLElementを文字列に変換する方法

2023-01-23 23:59:35

質問

JavaScriptでXML要素を作成し、サーバー側とデータのやり取りをしようと思っています。私は私がそれを行うことができることを発見した document.createElement . しかし、私はそれを文字列に変換する方法を知りません。それを容易にするブラウザのAPIはありますか?または、このAPIを含むJSライブラリはありますか?

EDITです。 ブラウザAPIのXMLSerializerを見つけたので、それが正しい文字列へのシリアライズ方法なのでしょう。

どのように解決するのですか?

要素のクローンを作成することで、'outer-html' を取得することができます。 それを空の'offstage'コンテナに追加します。 コンテナのinnerHTMLを読み取ります。

この例では、オプションの第2パラメータを受け取ります。

要素の子孫を含めるためにdocument.getHTML(element, true)を呼び出します。

document.getHTML= function(who, deep){
    if(!who || !who.tagName) return '';
    var txt, ax, el= document.createElement("div");
    el.appendChild(who.cloneNode(false));
    txt= el.innerHTML;
    if(deep){
        ax= txt.indexOf('>')+1;
        txt= txt.substring(0, ax)+who.innerHTML+ txt.substring(ax);
    }
    el= null;
    return txt;
}