[英]How to clone all row in table
抱歉,這很簡單。 我有
<table name="mytab" id="mytab1">
<tbody>
<tr>
<td>col1 Val1</td>
<td>col2 Val2</td>
</tr>
<tr>
<td>col1 Val3</td>
<td>col2 Val4</td>
</tr>
</tbody>
我想在用戶單擊按鈕clone
時復制table
tbody
的所有行。
這是我的代碼
var clnNode=document.getElementById("mytab1").tBodies[0].rows[0].cloneNode(true);
我還有other table
所以我像這樣通過
var tableRef = document.getElementById('table2');
var newRow = tableRef.insertRow(tableRef.rows.length);
newRow.innerHTML= clnNode;
那表2有這樣的html
<table id="table2" border="1">
<thead>
<th>No</th>
<th>Name</th>
</thead>
<tbody>
</tbody>
</table>
但我在瀏覽器上得到了[object HTMLTableRowElement]
。
請僅以JavaScript幫助我。
謝謝。
您還需要將其附加到tbody
。 這是執行一行代碼的代碼
var table1 = document.getElementById("mytab1");
var tbody = table1.getElementsByTagName( "tbody" )[ 0 ];
var row1 = tbody.getElementsByTagName( "tr" )[ 0 ];
var clnNode=row1.cloneNode(true);
tbody.appendChild( clnNode );
您可以通過執行以下操作在另一個表中添加此克隆節點
var table2 = document.getElementById("table2");
var tbody = table1.getElementsByTagName( "tbody" )[ 0 ];
tbody.appendChild( clnNode ); //from previous code
用法cloneTR(table)
function cloneTR(table) { var tbl = document.querySelector(table); var tbd = tbl.querySelector('tbody'); var trList = tbd.querySelectorAll('tr'); var trArray = Array.prototype.slice.call(trList); for (var i = 0; i < trArray.length; i++) { var clTR = trArray[i].cloneNode(true); tbd.appendChild(clTR); } return false; } var btn = document.getElementById('btn'); btn.addEventListener('click', function(event) { cloneTR('#table1'); }, false);
#table1 { border: 2px dashed blue; } td { border: 1px solid red; }
<button id="btn">Clone</button> <table name="tab" id="table1"> <tbody> <tr> <td>col1 Val1</td> <td>col2 Val2</td> </tr> <tr> <td>col1 Val3</td> <td>col2 Val4</td> </tr> </tbody>
使用.appendChind(node)
方法代替.innerHTML=
。 請參考以下代碼示例以了解這種情況。
var clnNode=document.getElementById("mytab1").tBodies[0].rows[0].cloneNode(true); document.getElementById("mytab1").appendChild(clnNode); document.getElementById("testNode").innerHTML = clnNode;
<table name="mytab" id="mytab1"> <tbody> <tr> <td>col1 Val1</td> <td>col2 Val2</td> </tr> <tr> <td>col1 Val3</td> <td>col2 Val4</td> </tr> </tbody> </table> <div id="testNode"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.