我使用下面的代码使用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
请告诉我我在哪里犯错......
答案 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>";