1

さらに処理するために、現在の HTML ドキュメントのコンテンツを取得しようとしています。便利なブラウザーでは、これを非常に簡単に行うことができます。( http://jsfiddle.net/HYyH4/を参照)

IE でそのリンクを表示すると、そのコマンドから出力を取得できません - 「innerHTML プロパティを設定できませんでした。この操作のターゲット要素が無効です。」

DOM 全体を手動で書き直すことなく、このようなことを達成する他の方法はありますか? 最終的には要素を簡単に削除できるようにjQueryにプルできるようにしたいので、失敗しないものjQuery.html()もいいでしょう:)

ヘルプ/フィードバックをありがとう!

4

2 に答える 2

1

ドキュメントのソースをコピーしようとしている理由がわからないので、以下が役に立つかどうかはわかりませんが、元の DOM とまったく同じ DOM を持つ HTML 要素を返します。

var doc = document.getElementsByTagName('html')[0];
var newDoc = doc.cloneNode(true);
alert(newDoc.innerHTML);

それがあなたの場合に適しているかどうかはあなた次第です。複製された HTML 要素には (ブラウザーによっては) 動的に追加されたリスナーの一部またはすべてが欠落し、フォーム コントロールの値が異なる場合があることに注意してください。

于 2012-04-23T03:53:10.420 に答える
0

documentElementドキュメントのルート ノードをプルする which を使用して試すことができます。

ドキュメントのルート要素 (HTML ドキュメントの要素など) である Element を返します。

IE 5.5 以降で動作します。詳細については、これについて説明している mdn の記事を参照してください。

ライブデモ

また、注意してください..jsfiddleはIEでうまく動作することがまったく知られていないため、テストに使用している場合は問題の一部になる可能性があります。

于 2012-04-23T01:56:19.703 に答える