2008-08-31 8 views
5

時間のデバッグが終わってから、FireFoxではDOMのinnerHTMLが実際にマークアップに反映されているように見えますが、IEではinnerHTMLがマークアップの内容を反映します動的に(すなわち、JavaScriptを介して)作成されます。FirefoxとIE:innerHTMLの処理

誰にもこれが真実であると判明しましたか?どちらの方法も同じように動作することを確認するための面白い回避策はありますか?

+0

これは古い質問です。なぜ、「steve m」がまだ答えを選んでいないのですか? –

答えて

9

私はPatに同意します。ゲームのこの時点で、利用可能なJavascriptフレームワークを考慮して、ブラウザ間の互換性を扱う独自のコードを書くことは意味がありません。ほぼすべての好みのフレームワーク(実際には非常に小さいもの)があり、ブラウザ間の相違をすべて実際に抽象化することに集中しています。彼らはあなたがそう思っているよりも多くのことをテストしています。

jQueryやYahooのYUI(1日にYahoo Javascriptに何人の人が当たったか、ブラウザの種類など)は、あなたや私が思い描いているスニペットよりも道のりよりも優れています。

11

jQueryの.html()を使用して、ブラウザ間で一貫した結果を得ることができます。

+0

同じです! jQueryはDOMを操作する際の救世主です。 –

+0

問題は、jQuery.html()が一貫した結果を生成しないことです。このメソッドは、ブラウザのinnerHTMLプロパティを使用します。一部のブラウザでは、元のドキュメントのHTMLソースを正確に複製するHTMLを返さない場合があります。英数字のみです。 – merryprankster

1

document.getElementById( "thisid")の代わりにプロトタイプと$( "thisid")構文を使用すると、あなたのトリックを行う可能性があります。それは私のために働いた。

2

良いライブラリを使用すると、ブラウザの不一致を回避するのに最適な方法です.jqueryは私がお勧めするものです。特に、フォームの要素を変更する問題に遭遇している場合、jqueryは便利なプラグインはフォームの操作と評価に特化しています。

関連する問題