-2

質問を明確に説明しなかったのかもしれませんが、質問が不要だと思われる場合は、少なくとも同様の解決策がどこにあるかを教えてください。私の観点からは、IE7の比較可能性の問題に対処する必要があります。

IE7のjQueryによって既存のテーブル(class ='a')の後にテーブルオブジェクト(class ='b')を挿入する方法について質問があります(IE8またはChromeではすべてがうまく見えます)。誰かが私に以下のコードに関するいくつかの提案を与えることができますか?

// This is the existing table
<table class='a' align="center">
<tr><th><label for="id_S">Number of modeled stages:</label></th><td><select name="S" id="id_S">
<option value="">Please choose</option>
<option value="2">2</option>
<option value="3">3</option>
</select></td></tr>
</table>   //I would like to insert a table class='b' right after this </table> tag

<script>
$(document).ready(function() {

$('<table class="b" border="0" align="center"><tr><th width="5">Matrix:</th></tr></table>').appendTo('.a'); //this works in IE8 but not in IE7

})
</script>

// The following code works in IE7, but it messed up the layout

<script>
$(document).ready(function() {

$('<table class="leslie" border="0" align="center"><tr><th width="5">Matrix:</th></tr></table>').appendTo('.a td:last');    //this works in IE7, once I changed it to tr:last, it does not work again.

})
</script>

アップデート

もっと簡単なケースを試してみました。IE7では、アラートメッセージを表示できますが、追加されたテーブル行を表示できませんでした。IE7は余分なHTMLテーブルを表示できなかったようですが、JavaScriptコードを処理できたようです。

<script>
$('<table class="b" border="0" align="center"><tr><th width="5">Lesile Matrix:</th></tr></table>').appendTo('.a');    
alert('s')
</script>
4

3 に答える 3

1

これを試して:

$('<table class="leslie" border="0" align="center"><tr><th width="5">Matrix:</th></tr></table>').insertAfter('.table');
于 2012-08-30T16:03:23.197 に答える
0

あなたのコードは正しくありません。まず、「テーブル」のクラスを持つ要素がありません。そのため、appendTo が機能しません。それは「a」のクラスを持っています。次に、appendTo については、追加しようとしているテーブルが " </table>" で終わっていません。また、Abe のアドバイスを受けて、appendTo を insertAfter に変更しました。

ここで修正コードを確認してください: http://jsfiddle.net/YUCDf/1/

于 2012-08-30T18:24:14.227 に答える
0

このように試しましたか?マークアップ全体を文字列に保存し、に追加するだけですか?

var x = '<table class="b" border="0" align="center"><tr><th width="5">Lesile Matrix:</th></tr></table>';
$('.a').append(x);

http://jsfiddle.net/nVFa5/

于 2012-08-30T19:55:09.393 に答える