Javascript 添加&;从克隆的表行中删除单元格

Javascript 添加&;从克隆的表行中删除单元格,javascript,jquery,html,html-table,Javascript,Jquery,Html,Html Table,我正在尝试创建一个表,可以根据需要从中添加和删除行。表本身是用PHP动态创建的,我无法知道每个表行中有多少个单元格。到目前为止,我已经能够成功地添加行,但在按下“X”键时,如何删除特定行却遇到了困难 我想,如果我可以将一个数字传递给“remove”函数,它可以用来确定要删除的行。我一直试图从克隆数据中删除最后一个“td”,并用包含正确函数参数的“td”替换它 到目前为止,我试过的都没用。有什么建议吗 HTML <table class='group'> <tr class=

我正在尝试创建一个表,可以根据需要从中添加和删除行。表本身是用PHP动态创建的,我无法知道每个表行中有多少个单元格。到目前为止,我已经能够成功地添加行,但在按下“X”键时,如何删除特定行却遇到了困难

我想,如果我可以将一个数字传递给“remove”函数,它可以用来确定要删除的行。我一直试图从克隆数据中删除最后一个“td”,并用包含正确函数参数的“td”替换它

到目前为止,我试过的都没用。有什么建议吗

HTML

<table class='group'>
  <tr class='group_row_0'>
    <td>Thing 1</td>
    <td>Thing 2</td>
    <td>Thing 3</td>
    <td>Thing 4</td>
    <td>
      <a href='#' class='group_remove' onclick='javascript:removeGroupField(0);'>X</a> <!-- The "0" here needs to be replaced with the new row # -->
    </td>
  </tr>
</table>

<a href='#' class='group_add' onclick='javascript:addGroupField();'>+ Add Row</a>

您应该尝试使用Javascript正确地附加处理程序,而不是内联处理程序。只需向表中添加一个处理程序,当单击
X
时,通过从单击的按钮向上导航到要删除的
tr
来删除该行:

$('table.group')。在('click','group_remove',函数()上{
const tr=this.parentElement.parentElement;
tr.remove();
});
$('.add')。在('click',函数(){
const clone=$('.group tr:last child').clone();
$('.group').append(克隆);
});

事情1
事情2
事情3
事情4
事情1
事情2
事情3
事情4
事情1
事情2
事情3
事情4
事情1
事情2
事情3
事情4

添加行
看起来您正在使用一些jQuery,因此您可以在x中尝试此操作

$(document).on('click', '.group_remove', function(){
    $(this).closest('tr').remove();
});

它通过沿着DOM树查找与所单击元素最近的tr元素(这是特定的group_remove class元素)。然后,删除该元素及其内部的所有内容。

是每行上的
X
s,您希望在按下该行的X时能够删除该行吗?
<?php
      echo "<table border=0 width=100%>
               <tr id='tabRow'></tr>
            </table>";
      echo "<center><button = addcell();>Add</button></center>";
 ?>
<?php
      echo "<table border=0 width=100%>
               <tr id='tabRow'></tr>
            </table>";
      echo "<center><button = addcell();>Add</button></center>";
 ?>
function addcell() 
{
   var row           = document.getElementById("tabRow");
   var nrow          = row.cells.length;    
   var addcell       = row.insertCell(nrow);
   addcell.align     = "right";
   addcell.innerHTML = "<font color=red onclick=deletecell(this)><sup>X</sup></font>Hello World";
}

function deletecell(rmvcell)
{
   document.getElementById("tabRow").deleteCell(rmvcell.cellIndex);
}