【问题标题】:Delete HTML Table Row using Javascript使用 Javascript 删除 HTML 表格行
【发布时间】:2010-06-21 06:49:40
【问题描述】:

我正在使用下面的代码使用 javascript 删除 HTML 表格行,但它给了我错误。

使用下面的代码,我在运行时使用包含删除锚标记的 javascript 创建一个列。

            var tbody = document.getElementById("<%= tblcriteria.ClientID %>").getElementsByTagName("TBODY")[0];

var row = document.createElement("TR")
 var td4 = document.createElement("TD");
 var code = "<a href=\"javascript:deleteCriteria(this.parentNode.parentNode.rowIndex);\">delete</a>";
    td4.setAttribute("align", "center");
    td4.innerHTML = code;
   row.appendChild(td4);
  tbody.appendChild(row);

下面的函数我用来删除 html 表的当前行:

function deleteCriteria(i) {
        if (window.confirm('Are you sure you want to delete this record?') == true) {
            document.getElementById("<%= tblcriteria.ClientID %>").deleteRow(i);

        }
    }

它给了我以下错误:

'this.parentNode.parentNode.rowIndex' is null or not an object

请告诉我哪里出错了...

【问题讨论】:

  • 你可能想研究一下 jQuery - jquery.com - 更简单的 DOM 操作和跨浏览器支持。

标签: asp.net javascript html


【解决方案1】:

this 不指向&lt;a&gt; 元素,而是指向窗口。

【讨论】:

【解决方案2】:

正如@Sjoerd 所说,您应该改用onClick

这一行

var code = "&lt;a href=\"javascript:deleteCriteria(this.parentNode.parentNode.rowIndex);\"&gt;delete&lt;/a&gt;";

应该阅读

var code = "&lt;a href=\'#\' onclick=\'javascript:deleteCriteria(this.parentNode.parentNode.rowIndex);\'&gt;delete&lt;/a&gt;";

【讨论】:

  • 如果您使用的是onclick,则javascript: 标签中没有任何意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 2021-12-17
相关资源
最近更新 更多