何時間ものデバッグの後、FireFoxではDOMのinnerHTMLは実際にマークアップにあるものを反映しているように見えますが、IEではinnerHTMLはマークアップにあるものに加えてユーザーによってまたは動的に(つまりJavascriptを介して)行われた変更を反映しています)。
他の誰かがこれが本当だと思ったことがありますか?両方が同じように動作することを保証するための興味深い回避策はありますか?
何時間ものデバッグの後、FireFoxではDOMのinnerHTMLは実際にマークアップにあるものを反映しているように見えますが、IEではinnerHTMLはマークアップにあるものに加えてユーザーによってまたは動的に(つまりJavascriptを介して)行われた変更を反映しています)。
他の誰かがこれが本当だと思ったことがありますか?両方が同じように動作することを保証するための興味深い回避策はありますか?
jQueryの.html()を使用して、ブラウザー間で一貫した結果を取得します。
パットに同意します。ゲームのこの時点では、利用可能なJavascriptフレームワークを前提として、ブラウザー間の互換性に対処するための独自のコードを作成することはあまり意味がありません。ほぼすべての好み(非常に小さいものもあります)のフレームワークがあり、ブラウザー間のすべての違いを実際に抽象化することに重点を置いています。彼らはあなたがそうするよりもはるかに多くのテストを行っています。
jQueryやYahooのYUI(1日にYahoo Javascriptをヒットする人の数とさまざまなブラウザーを考えてみてください)のようなものは、あなたや私が思いついたどのスニペットよりもはるかにロードテストされています。
優れたライブラリを使用することは、ブラウザーの不一致を回避するための優れた方法であり、jquery は私が通常お勧めするものです。特にフォーム内の要素を変更する際に問題が発生した場合、jquery は特に焦点を当てたいくつかの非常に便利なプラグインを誇っています。フォームの操作と評価について。
document.getElementById( "thisid")の代わりにプロトタイプと$( "thisid")構文を使用すると、うまくいく可能性があります。それは私のために働いた。