javascript - 使用带行索引和链接的javascript动态删除HTML表行

标签 javascript html html-table delete-row

我想在 HTML 中动态添加/删除表格行。我知道这个论坛中有很多类似查询的问题。我的疑问是使删除操作适用于每一行。为此,我使用了表索引。

//Link
var cell7 = row.insertCell(6);
var element7 = document.createElement("a");
var text = document.createTextNode("Delete");
element7.appendChild(text);
element7.setAttribute("href","javascript:deleterow("+rowcount+")");
element7.name="reqlink[]";
cell7.appendChild(element7);    

这里rowcount是当前添加行的索引。因此,在添加行的同时,我还定义了删除操作。因此,每一行都会有一个删除链接。但是,问题是索引动态变化。所以,这个解决方案不会真正起作用。

请问你能帮忙吗?我不想使用其中一种解决方案定义的复选框。

删除行函数的脚本如下:

function deleterow(index){
    alert('working' + index);
    table.deleteRow(index);
}

######### 试过这个###########

//Link
var cell7 = row.insertCell(6);
var element7 = document.createElement("a");
var text = document.createTextNode("Delete");
element7.appendChild(text);
element7.setAttribute("href","javascript:deleterow(this); return false");
element7.name="reqlink[]";
cell7.appendChild(element7);

“this”指向窗口而不是表格行..

最佳答案

解决方案是将当前行元素传递给 deleteRow 函数,并使用其父元素将其删除(不能直接删除),因此函数将如下所示:

 var deleteRow = function (link) {
     var row = link.parentNode.parentNode;
     var table = row.parentNode; 
     table.removeChild(row); 
 }

删除链接的HTML如下

<a onclick="javascript:deleteRow(this); return false;">

使用以下行动态创建元素(同时注意大写和小写字符):

element7.setAttribute("onclick","deleteRow(this); return false");

因此,不需要使用 ID 来删除行。希望这会有所帮助。

关于javascript - 使用带行索引和链接的javascript动态删除HTML表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21043622/

相关文章:

javascript - 组件在状态更改时不重新渲染?

jquery - knockout 拖放: On drag enter hiding div and on drag leave show div [Mine is different]

javascript - float 图像留作背景 - css

javascript - 使用 CSS 和 JavaScript 的 HTML 表格的静态行和列

php - 将数据(动态结果)拆分为 3 列 - php mysql

javascript - 我们如何从js文件中获取字符串值到HTML?

javascript - 无法从 Gettyimages API 获取请求

javascript - 只使用一次数组元素

javascript - 如何通过 jQuery 获取字段集中选定的单选按钮值?

jQuery点击表格单元格事件