javascript - 从 HTML 表中删除一行后,如何存储单元格的值?
问题描述
我有下表和 JavaScript 代码:
function deleteRow() {
var td = event.target.parentNode;
var tr = td.parentNode; // the row to be removed
tr.parentNode.removeChild(tr);
deletedIds.push(tr.cell(0).innerHTML);
}
<!DOCTYPE html>
<html lang="en">
<body>
<TABLE id="eventTable" border="1" style="border: 1px solid #000000; border-collapse: collapse;" cellpadding="4">
<TR>
<TH>ID</TH>
<TH>Timestamp</TH>
<TH>Filename</TH>
<TH>Frequency</TH>
<TH>Hostname</TH>
<TH>Port</TH>
<TH>Band</TH>
<TH>Start Time</TH>
<TH>End Time</TH>
<TH>Delete</TH>
</TR>
<TR>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true">
<button type='button' value='delete' 'class='center2 ' onclick=‘deleteRow();’> Delete Event </button></TD>
</TR>
</TABLE>
单击Delete Event
按钮后,我想将该行的 id 列中的任何内容存储在数组中。
该函数正确地从 HTML 表中删除该行,但由于不是有效函数 deleteRow
而产生错误。如何将已删除行的 ID 列中的任何内容存储在 deletedIds 数组中?tr.cell
解决方案
您的代码大部分是正确的,只有一些错误:
- 在读取它的 innerHTML 之前,您正在删除该元素。
tr.cells[i]
是访问第 i 列的正确方法。
查看以下工作片段。
var deletedIds = [];
function deleteRow() {
var td = event.target.parentNode;
var tr = td.parentNode; // the row to be removed
//deletedIds is the name of the array
deletedIds.push(tr.cells[0].innerHTML);
tr.parentNode.removeChild(tr);
console.log(deletedIds);
}
<TABLE id="eventTable" border="1" style="border: 1px solid #000000; border-collapse: collapse;" cellpadding="4">
<TR>
<TH>ID</TH>
<TH>Timestamp</TH>
<TH>Filename</TH>
<TH>Frequency</TH>
<TH>Hostname</TH>
<TH>Port</TH>
<TH>Band</TH>
<TH>Start Time</TH>
<TH>End Time</TH>
<TH>Delete</TH>
</TR>
<TR>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true"></TD>
<TD contenteditable="true">
<button type="button" id="delete0" onclick="deleteRow()"> Delete Event </button></TD>
</TR>
</TABLE>
推荐阅读
- jvm - jvm 是否在依赖第三方 jar 之前加载应用程序类?
- python - 如何通过 BucketType 定义命令错误消息
- swift - 使用 Podfile post_install 钩子添加自定义构建规则
- ssl - 如何获取 SSL 证书以在 Firefox 上使用 Localhost
- python-3.x - 让雷达条形图列跨越条形的整个宽度 - Matplotlib
- python - 无效输入导致 psycopg2.errors.InvalidTextRepresentation
- java - 如何加载以前的数据并使用按钮继续添加其值(数字/整数)?
- python - Spotipy:当我使用 sp.search() 时出现了错误/几位艺术家
- javascript - 未捕获的类型错误:无法读取未定义的属性“toString”--javascript
- python - 将特定单元格定义为 pandas 数据框中的变量