使用循环向表添加行

时间:2015-01-31 23:04:16

标签: javascript html

我正在开展一个项目,我正在创建一个项目表。它看起来像这样:

<table>
  <tr>
    <th>Priority</th>
    <th>Item</th>
  </tr>
  <tr>
    <td>1</td>
    <td><input type="text"><br></td>
  </tr>
  <tr>
    <td>2</td>
    <td><input type="text"></td>
  </tr>
<tr>
    <td>3</td>
    <td><input type="text"></td>
  </tr>
<tr>
    <td>4</td>
    <td><input type="text"></td>
  </tr>
<tr>
    <td>5</td>
    <td><input type="text"></td>
  </tr>
</table>
<script type = "text/javascript">
</script>

</head>
<body>
</body>
</html>

我想要一个按钮,它会添加另一行,下一个数字和空格来输入数据。无论如何使用Javascript在循环中编写它?

1 个答案:

答案 0 :(得分:0)

怎么样:

&#13;
&#13;
 <table id="specialtable">
  <tr>
    <th>Priority</th>
    <th>Item</th>
  </tr>
  <tr>
    <td>1</td>
    <td><input type="text"><br></td>
    <td><button onclick="addRow(this);">Add</button><br></td>    
  </tr>
</table>


<script type = "text/javascript">  
function addRow(e) {
  var current = e.parentNode.parentNode; // <tr>...</tr>
  var tnew = current.cloneNode(true);
  var rowCount = current.parentNode.getElementsByTagName("tr").length;
  tnew.getElementsByTagName("td")[0].textContent = rowCount;
  current.parentNode.appendChild(tnew);
}  
</script>
</head>
<body>
</body>
</html>
&#13;
&#13;
&#13;