【发布时间】:2011-08-30 00:09:33
【问题描述】:
我在弄清楚如何在 Javascript 中自引用表格行时遇到了一些麻烦。
这是精简的代码:
$( "#listitems tbody" ).append( "<tr onclick=\"editListItem(this)\">" +
"<td>" + id.val() + "</td>" +
"<td>" + title.val() + "</td>" +
"<td>" + description.val() + "</td>" +
"<td>" + TF + "</td>" +
"<td style=\"visibility: hidden;\">" + id.val() + "</td>" +
"</tr>" );
如您所见,我正在动态设置此表格行和单元格的内容。但是,我需要将对该表行的引用传递给它的 onClick 函数,该函数调用这个 Javascript 方法:
function editListItem(obj) {
var id = obj.cells[4].innerHTML;
var cells = document.getElementById('listitems').rows[id].cells;
DATA[0] = cells[0].innerHTML;
DATA[1] = cells[1].innerHTML;
DATA[2] = cells[2].innerHTML;
DATA[3] = cells[3].innerHTML;
}
在这种方法中,我需要访问被点击的表格行的第 4 个“隐藏”单元格内部中包含的值。我通常只是将 ID 变量传递给 onClick 方法,但是该表的内容可以排序和重新排列,因此 ID 变量不一定与行的内容相对应。
过去四个小时我一直在谷歌上搜索,但找不到任何关于这种情况的具体示例;我尝试过的所有操作都会触发一个 Javascript 错误,声明 obj.cells、obj[4]、obj.childNodes 等不存在,具体取决于我尝试的是哪一个。
有谁知道如何通过将“this”传递给表格行的 onClick 来访问表格行元素内表格单元格元素的 innerHTML?
如果其中任何部分令人困惑,请告诉我,我正在努力在今天离开之前完成这件事,否则我知道我会忘记这一切而必须重新开始。
【问题讨论】:
标签: javascript jquery dom html-table