添加的元素可防止代码向表中添加新行

时间:2013-02-27 01:26:19

标签: javascript html asp.net-web-api

我在div标签中向表中添加行时遇到一些问题,因为其中包含另一个标记。

我知道如果我可以更改表的id会很好,但因为它是生成的,所以我无法更改它们。我只能改变包围表格的div的id。

<!--Adding does not work on this table -->
<h3>Wednesday</h3>
<button type="button" onclick="displayResult('wed')">Insert new row</button>
<div id="wed">
<strong>Even this stops it from adding</strong> <!--This is the problem -->
<table id="myTable" border="1">
  <tr>
    <td>cell 1</td>
    <td>cell 2</td>
  </tr>
</table>
<div>   

<!--Adding works on this table -->
<h3>Thursday</h3>
<button type="button" onclick="displayResult('thu')">Insert new row</button>
<div id="thu">
<table id="myTable" border="1">
  <tr>
    <td>cell 1</td>
    <td>cell 2</td>
  </tr>
</table>
<div>   

function displayResult(number) {
    var elemList=document.getElementById(number).childNodes;
    var table=elemList[1];
    var row=table.insertRow(-1);
    var cell1=row.insertCell(0);
    var cell2=row.insertCell(1);
    cell1.innerHTML="New";
    cell2.innerHTML="New";
}

Here is jsFiddle illustrating the problem I have

1 个答案:

答案 0 :(得分:1)

我会假设通过索引获取元素是问题所在(没有看到生成表的代码,很难肯定地说),并建议一旦你有了div,你{{1并查看你是否无法在那里工作。

我还建议大多数你正在做的事情比jquery容易得多,如果你有能力将它添加到项目中,我推荐它。