使用Javascript删除HTML表行

时间:2010-06-21 06:49:41

标签: asp.net javascript html

我使用下面的代码使用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

请告诉我我在哪里犯错......

2 个答案:

答案 0 :(得分:3)

this未指向<a>元素,而是指向窗口。

答案 1 :(得分:2)

正如@Sjoerd所提到的,你应该使用onClick代替。

这一行

var code = "<a href=\"javascript:deleteCriteria(this.parentNode.parentNode.rowIndex);\">delete</a>";

应该阅读

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

相关问题