1

オプションとしてインデント スペースを使用して HTML コードをきれいにするための jquery プラグインを作成したいと考えていました。

これをどのように進めるか知りたいと思いました。各 dom 要素を再帰的に抽出して保存し、続行する必要がありますか?

注: 上記の手順を試してみましたが、4 ~ 5 個のタグでは機能せず、関数に dom 要素がさらに渡されるとページがクラッシュします。

再帰的な実装のコードは次のようになります。

result="";
function serialize(domNode, indent) {
//get tagname & attributes
result+="<"+tagname+""+attributes+">";
var children=domNode.childNodes;
for (var i=0;i<children.length;i++) {
    var node=children[i];
    if(children[i].nodeType==3) {
        result += children[i].data;
    }
    else if (children[i].nodeType == 1) {
        result += serialize(children[i], indent);
    }
}
result += "</"+tagname+">";
}

PS: コードが悪いことはわかっているので、より良い実装が必要です。

4

0 に答える 0