从 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>

    

    <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 列中的任何内容存储在数组中。


该deleteRow函数正确地从 HTML 表中删除该行,但由于tr.cell不是有效函数而产生错误。 如何将已删除行的 ID 列中的内容存储在 deletedIds 数组中?


翻翻过去那场雪
浏览 153回答 3
3回答

扬帆大鱼

您的代码大部分是正确的,只有一些错误:在阅读其innerHTML 之前,您正在删除该元素。tr.cells[i]&nbsp;是访问第 i 列的正确方法。查看以下工作片段。var deletedIds = [];function deleteRow() {&nbsp; &nbsp; var td = event.target.parentNode;&nbsp; &nbsp; var tr = td.parentNode; // the row to be removed&nbsp; &nbsp; //deletedIds is the name of the array&nbsp; &nbsp; deletedIds.push(tr.cells[0].innerHTML);&nbsp; &nbsp; tr.parentNode.removeChild(tr);&nbsp; &nbsp; console.log(deletedIds);}&nbsp; <TABLE id="eventTable" border="1" style="border: 1px solid #000000; border-collapse: collapse;" cellpadding="4">&nbsp; &nbsp; <TR>&nbsp; &nbsp; &nbsp; <TH>ID</TH>&nbsp; &nbsp; &nbsp; <TH>Timestamp</TH>&nbsp; &nbsp; &nbsp; <TH>Filename</TH>&nbsp; &nbsp; &nbsp; <TH>Frequency</TH>&nbsp; &nbsp; &nbsp; <TH>Hostname</TH>&nbsp; &nbsp; &nbsp; <TH>Port</TH>&nbsp; &nbsp; &nbsp; <TH>Band</TH>&nbsp; &nbsp; &nbsp; <TH>Start Time</TH>&nbsp; &nbsp; &nbsp; <TH>End Time</TH>&nbsp; &nbsp; &nbsp; <TH>Delete</TH>&nbsp; &nbsp; </TR>&nbsp; &nbsp; <TR>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; <TD contenteditable="true">&nbsp; &nbsp; &nbsp; &nbsp; <button type="button" id="delete0"&nbsp; onclick="deleteRow()"> Delete Event </button></TD>&nbsp; &nbsp; </TR>&nbsp; </TABLE>

陪伴而非守候

我会做不同的事情并将 id 应用到行 - 然后将其存储在删除中,即: - tr.attr('id')var deletedIds = [];function deleteRow(index) {&nbsp; &nbsp; var rows = document.querySelectorAll('#eventTable tr');&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; rows.forEach(function(row){&nbsp; &nbsp; &nbsp; &nbsp;let id = row.getAttribute('id');&nbsp; &nbsp; &nbsp; &nbsp;if (id == index) {&nbsp; &nbsp; &nbsp; &nbsp; deletedIds.push(id);&nbsp; &nbsp; &nbsp; &nbsp; row.parentNode.removeChild(row);&nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp;})&nbsp; &nbsp; console.log(deletedIds);}<!DOCTYPE html>&nbsp; &nbsp; <html>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <body>&nbsp; &nbsp; &nbsp; <TABLE id="eventTable" border="1" style="border: 1px solid #000000; border-collapse: collapse;" cellpadding="4">&nbsp; &nbsp; &nbsp; &nbsp; <TR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>ID</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Timestamp</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Filename</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Frequency</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Hostname</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Port</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Band</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Start Time</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>End Time</TH>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TH>Delete</TH>&nbsp; &nbsp; &nbsp; &nbsp; </TR>&nbsp; &nbsp; &nbsp; &nbsp; <TR id="1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true">1</TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <button type='button' class='center2 ' onclick="deleteRow(1)"> Delete Event</button>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</TD>&nbsp; &nbsp; &nbsp; &nbsp; </TR>&nbsp; &nbsp; &nbsp; &nbsp; <TR id="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true">2</TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD contenteditable="true"></TD>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <TD&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript