我查看了其他一些问题,例如this one,但他们没有解决这个问题:
当我在IE(8)中运行此代码时:
$("<tr><td>1</td><td>A</td></tr>").appendTo("#myTable tbody");
我最终将这个HTML添加到表格的正文中:
<TR>
1</TD><//TD>
<TD>
</TD>
A</TD><//TD></TR><//TR>
</TR>
有什么想法吗?提前谢谢。
答案 0 :(得分:1)
你要做的事情真的很难做到。这是因为<TR>
元素在<TABLE>
范围之外没有意义。虽然解释你的意图对于我们人类来说很容易,但是jQuery很可能不够聪明,并做正确的事情。
这里的正确之处是:
var tbody = document.getElementById('myTable').getElementsByTagName('tbody')[0];
var row = document.createElement('tr');
tbody.appendChild(row);
var cell = document.createElement('td');
cell.innerHTML = '1';
row.appendChild(cell);
cell = document.createElement('td');
cell.innerHTML = 'A';
row.appendChild(cell);
现在你的问题中的代码更加紧凑,但这并不意味着jQuery需要在幕后做更少的工作才能真正达到预期的效果。
答案 1 :(得分:1)
试
$("#myTable tbody").append("<tr><td>1</td><td>A</td></tr>");
它是一样的,但它在jQuery中做了完全不同的事情