我正在尝试通过Javascript向表格行添加onclick事件。
function addRowHandlers() {
var table = document.getElementById("tableId");
var rows = table.getElementsByTagName("tr");
for (i = 1; i < rows.length; i++) {
row = table.rows[i];
row.onclick = function(){
var cell = this.getElementsByTagName("td")[0];
var id = cell.innerHTML;
alert("id:" + id);
};
}
}
在Firefox中,这个代码可以正常工作,但在Internet Explorer(IE8)中,我无法访问表格单元格。我认为这与onclick函数中的"this"被识别为"Window"而不是"Table"(或类似的东西)有关。
如果我能够访问当前行,我就可以在onclick函数中执行getElementById
,但我找不到方法来实现这一点。有什么建议吗?