我正在自学JavaScript,我需要将一个表复制到另一个表中。我已经能够用这个例子复制@Gushiken的code和@Quentin的response:
超文本标记语言:
<button onclick="copytable()">Copy Table</button>
<br />
<br />
<table id="TableA">
<!--<tbody></tbody>-->
</table>
<br />
<table id="TableB" style="border:solid">
<thead>
<tr>
<td id="col1">Column 1</td>
<td id="col2">Column 2</td>
<td id="col3">Column 3</td>
</tr>
</thead>
<tbody>
<tr>
<td>Data a</td>
<td>Data b</td>
<td>Data c</td>
</tr>
</tbody>
</table>
<br />
字符串
JavaScript:
function copytable() {
var source = document.getElementById('TableB');
var destination = document.getElementById('TableA');
var copy = source.cloneNode(true);
copy.setAttribute('id', 'tableB');
destination.parentNode.replaceChild(copy, destination);
}
型
但是,一旦复制了表B,我如何访问复制表中的元素?即,表B是“硬编码”HTML,而…表A在内存中吗?我想把第一栏改成A栏,第二栏改成B栏,以此类推在表复制事件之后。
另外,如何删除复制的表?
3条答案
按热度按时间arknldoa1#
要删除旧的TableB,可以尝试
source.outerHTML = "";
然后删除对象:
delete(source);
个关于在tableA中插入TableB,我不明白。您想像
<tableA><tableB></tableB></tableA>
一样插入,还是只移动TableB的<td>
?7xllpg7q2#
因为您已经为副本应用了一个新的id,所以可以使用它来访问克隆的元素。
个字符
但是访问新表中的元素的问题是,由于克隆的内部元素有id,所以有多个元素具有相同的id。如果可以使用class而不是id作为
td
元素,则的字符串
qij5mzcb3#
要删除源表,可以执行以下操作:
字符串
您可以在复制后立即更改复制的表,例如:
的数据