-1

別のタグが含まれているため、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";
}

ここに私が抱えている問題を示すjsFiddleがあります

4

1 に答える 1

1

インデックスによる要素の取得が問題であると仮定します (テーブルを生成するコードを見ずに、確かに言うのは難しいです)、div を取得したらgetElementsByTagName('table')[0]、できるかどうかを確認することをお勧めします。そこから作業します。

また、あなたがやっていることのほとんどは、jquery を使用するとはるかに簡単になることをお勧めします。それをプロジェクトに追加できる場合は、それをお勧めします。

于 2013-02-27T03:45:44.793 に答える