我对如何在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>
答案 0 :(得分:1)
试试这个:
$('<table class="leslie" border="0" align="center"><tr><th width="5">Matrix:</th></tr></table>').insertAfter('.table');
答案 1 :(得分:0)
您的代码不对。首先,您没有具有“table”类的元素。所以这就是appendTo不起作用的原因。它有一类“a”。然后对于appendTo,您尝试添加的表不会以“</table>
”结尾。此外,我接受了Abe的建议并将appendTo更改为insertAfter。
在此处查看您的固定代码:http://jsfiddle.net/YUCDf/1/
答案 2 :(得分:0)
var x = '<table class="b" border="0" align="center"><tr><th width="5">Lesile Matrix:</th></tr></table>';
$('.a').append(x);