在IE的表格中添加tr
Append tr in table in IE
我有一个表结构:
<table id="tableId">
<tbody id="tbodyId">
<tr id="trId1">
<td>id</td><td>name</td>
</tr>
</tbody>
</table>
我添加新的行与简单的Javascript像这样:
var itemsContainer = dojo.byId('tbodyId');
itemCount++; //it will give id to tr i.e. trId2
var newItemNode = document.createElement('tr');
newItemNode.setAttribute("id", 'trId' + itemCount);
newItemNode.innerHTML ='<td>id</td><td>anotherName</td>';
itemsContainer.appendChild(newItemNode);
在Firefox中都可以正常工作,但在IE中没有添加行。在Firefox中,它之后的新表变成:
<table id="tableId">
<tbody id="tbodyId">
<tr id="trId1">
<td>id</td><td>name</td>
</tr>
<tr id="trId2">
<td>id</td><td>anotherName</td>
</tr>
</tbody>
</table>
我看到了其他代码和帮助。
有用于创建表格单元格(和行)的特殊函数,例如-用于行的insertRow和用于单元格的insertCell -它适用于所有浏览器
var newItemNode = itemsContainer.insertRow( itemsContainer.rows.length - 1 );
newItemNode.setAttribute("id", 'trId' + itemCount);
var cell = newItemNode.insertCell( 0 );
cell.innerHTML = 'id';
…
p。我认为DOJO框架有插入行和单元格的东西
首先,这个jsfiddle在FF6中工作得很好&IE8
确保你真正的html有正确的标记。您的示例显示了没有斜杠
的结束tbody
元素。 <tr id="trId2">
<td>id</td><td>anotherName</td>
</tr>
<tbody> <!-- This line should be </tbody> -->
IE与它对不良标记的接受不一致。
另外,像这样的代码:
var newItemNode = document.createElement('tr');
newItemNode.setAttribute("id", 'trId' + itemCount);
newItemNode.innerHTML ='<td>id</td><td>anotherName</td>';
正是dojo(以及它更智能的表亲jQuery)之类的工具包所要避免的那种代码。我怀疑用于创建新行的代码在您正在测试的IE版本中是不同的。
try this
<html>
<script language = "javascript">
function kk()
{
var itemsContainer = document.getElementById("tbodyId");
var newItemNode = document.createElement('tr');
newItemNode.setAttribute("id", 'trId' + 1);
var newCellItem1 = document.createElement('td');
newCellItem1.innerHTML = "id";
var newCellItem2 = document.createElement('td');
newCellItem2.innerHTML = "anotherName";
newItemNode.appendChild(newCellItem1);
newItemNode.appendChild(newCellItem2);
itemsContainer.appendChild(newItemNode);
}
</script>
<table id="tableId">
<tbody id="tbodyId">
<tr id="trId1">
<td>id</td><td>name</td>
</tr>
</tbody>
</table>
<input type="button" value = "heihei" onclick = "kk();"></input>
</html>
相关文章:
- 用Javascript添加带有#text的tr元素
- 如何将类添加到<tr>标记
- 如何在遍历表和添加新元素时获得tr的索引
- 将类添加到当前tr
- 添加<tr>元素到动态表,动态不刷新页面,php-jquery
- 如何在动态创建的tr标签表中添加合计
- 在表末尾动态添加TR
- 在数据表表和普通 DOM 表之间移动(添加/删除)tr 行
- 添加 tr 标签会导致函数停止工作
- j查询点击事件,用于在具有特定 ID 的表中动态添加 tr
- 如何在TR的最后一个TD中添加事件或将ID属性添加到IMG标签
- 在IE8中动态添加tr和td设计问题
- JavaScript添加和删除<tr>使用EventListener和jQuery
- 创建<td>动态地添加到<tr>
- jQuery仅将addClass添加到<td>其中父<tr>具有特定类别
- 添加&单击按钮时减去TR(ID+1)
- 将类添加到表中的 tr (JQuery)
- 将tr添加到table中使用javascript将一个新的tbody添加到html表中
- 在特定行下面添加tr
- 在IE的表格中添加tr