2011-09-09 12 views
0

私の同僚と私は今これについて約1時間を費やしており、わかりません。これはChromeとFirefoxでうまく動作します。これは、基本的にはそれのダウン易しく書き直さバージョンです:jQuery .html()を使用してIE8が追加されています

http://jsbin.com/osebuc

それは、このテストケースでは正常に動作しますが、IE8で私たちの本物の上に、それはHTMLを追加しています。文字通り、コードには$('.panda').html(someHtml)がありますが、IEでは、HTMLを置き換える代わりに、毎回HTMLを追加します。

我々はまた、IEで$('.panda').empty().html(someHtml)を試してみましたが、その後、IEが.pandaの「トラックを失う」ようだとconsole.log($('.panda').length)戻り1をやって、その後、別のボタンのクリック(元のHTMLへのバックは)、0を返します。

他にもこれを見ましたか?これがどうして起こるのか、誰でも知っていますか?

なぜ

:私の同僚と私はいくつかのフォームを作成しようとしている
は、元のHTMLを触れることなく(β型)きれいに見える(私たちがすることはできません)が、元のフォームに移動するための方法を持っています(クラシック)ボタンをクリックした場合。これを行うために、オリジナルのHTMLをvarにキャッシュし、新しいベータHTMLをビルドしてvarに保存し、上記の例をトグルで行います。

+0

私はIE8でエミュレートされたIE9で再現できません。 – pimvdb

+0

IE8でうまく動作します。 –

+0

私が言ったように、_ "このテストケースではうまくいきますが、実際にはIE8ではHTMLを追加しています。" _この問題に誰かが入り込んできたのかどうかはわかりませんでした。 。 –

答えて

1

しかし、私はpersinally jQueryを好む、あなたは普通のジャバスクリプトを試してみましたか?

$('.panda')[0].innerHTML = ""; 
$('.panda')[0].innerHTML = "some html"; 
+0

IE8で.html()が使用されていなかった場合、これは私のために働いていました。 – DesignerGuy

3

IE7/IE8では、まったく同じ問題:.html()が追加されました。

私は、次の操作を行って、それを並べ替えるために管理:

$('panda').html("").html(someHtml); 

基本的には、手動で空白に設定して、AJAX呼び出しからのコードを追加します。

+0

'+ 1'は解決策と明確な説明です。 – Anne

1

も同じ問題がありました。 HTMLが有効であることを確認してください。私は別の開閉タグを持っていました^^

関連する問題