2012-03-15 12 views
0

jQueryを使用してHTML文書を編集する必要がありますが、私が試みたすべての解決策は非常に制限的です。jQueryで外部HTML文書を編集する

私はサーバーからドキュメントを取得しているので、文字列として取得します。ドキュメントを解析するには、DOMにドキュメントを追加する必要があります。

私は身体に追加したとき、私は(https://stackoverflow.com/a/3218941/654179を参照)、ブラウザによって削除され<html><head><body>タグを失います。

私はちょっと複雑なiframeを使ってみました。手動で入力するにはcontentWindow.documentを使用し、次に内容を取得するにはcontents().find('*').html()というトリックを使用する必要があります。たぶん、これをやるのが簡単でクリーンな方法があります。しかし、iframeソリューションでは、<html>,<head><body>タグも削除されます。私の例を参照してください:http://jsfiddle.net/gNvYn/7/

ここに別のトリックがあります:https://stackoverflow.com/a/6751201/654179しかし、私はそれを書いて、それを読んでそれを使用することはできませんでした(私はそれをサーバー上で保存するために読む必要があります)。

したがって、構造を失うことなくHTML文書を編集(書き込み、読み取り)する方法はありますか?

+0

実際にDOMに追加する必要はありますか? $(varContainingHtmlAsString)だけを使ってみましたか? – bfavaretto

+0

文書を取得することは、実際に文書を作成するよりも問題になることはありません。どのようにしたいのですか?あなたはテキストとファイル名(例えば)を受け入れ、そのファイルに内容を書き込むサーバー側サービスを持っていますか? –

+0

jQueryを使ってHTML文書を編集することは限られており、おそらく最良の解決策ではありません。 PHPを試してください –

答えて

1

変更する必要があるものがすべて体内にある場合は、回避策があります。 (最後の文字として<body>を含む)、ポストボディ(最初の文字として</body>を持つ)、およびボディ(中央のすべて)を分割するには、javascriptのindexOf()およびslice()メソッドを使用します。その後、本体をDOMに挿入し、操作し、再び元に戻し、javascript +演算子を使用して3つを戻して戻します。それは少しkludgyです、そしてそれは正確にあなたが尋ねたものではありませんが、あなたが行くつもりです。

関連する問題