Javascript 如何使html表格中的行可单击

Javascript 如何使html表格中的行可单击,javascript,jquery,html-table,Javascript,Jquery,Html Table,我有一个Javascript函数,它用html创建一个表。这正是我想要的 var thead = '<table><thead><tr><td>#</td><td>Name</td><td>Id</td></tr></thead><tbody>\n'; for(var i=0; i<dataArray.length; i++) { tbod

我有一个Javascript函数,它用html创建一个表。这正是我想要的

var thead = '<table><thead><tr><td>#</td><td>Name</td><td>Id</td></tr></thead><tbody>\n';
for(var i=0; i<dataArray.length; i++)
{
    tbody += '<tr class="row">';
    tbody += '<td>' + (i+1) + '</td>';
    tbody += '<td>' + dataArray[i].Device_Name + '</td>';
    tbody += '<td>' + dataArray[i].Device_Id + '</td>';         
    tbody += '</tr>\n';     
}
var tfooter = '</tbody></table>';
document.getElementById('dataTableDiv').innerHTML = thead + tbody + tfooter;

我做错了什么?

因为您是从Jquery动态生成HTML,所以请尝试事件委派,如下所示:-

$(document).on('click','.row',function(){
    // Your Code...
});

或者(在回答中添加Jai的有用评论)


因为您是从Jquery动态生成HTML,所以请尝试事件委派,如下所示:-

$(document).on('click','.row',function(){
    // Your Code...
});

或者(在回答中添加Jai的有用评论)


我正要回答这个问题我会工作的,但相当繁重。如果他只在加载文档时创建表,而不在加载后添加行,则不需要它。非常感谢,先生。两天来一直在努力解决这个问题:-(更好的是
$(“#dataTableDiv”)。on(事件,选择器,fn)
我正要回答这个问题。:DWill work,但相当沉重。如果他只在加载文档时创建表,而不在加载后添加行,那么他就不需要它。Worked。非常感谢,先生。我已经花了两天时间试图解决这个问题:-(更好的方法是
$('#dataTableDiv')。on(事件,选择器,fn);
如果在加载文档后在脚本中创建表,则无法将单击处理程序附加到tr click事件,因为触发document.ready事件时它们不存在。您可以尝试将表构造放入函数中,在行单击处理程序定义之前调用此函数。如果在脚本加载文档后,无法将单击处理程序附加到tr click事件,因为触发document.ready事件时它们不存在。您可以尝试将表构造放入函数中,在行单击处理程序定义之前调用此函数。
$(document.body).on('click','.row',function(){
    // Your Code...
});
$('#dataTableDiv').on('click','.row',function(){
    // Your Code...
});