在html中有<div id="tableContainer">
并且我附加了动态创建的表
table = $("<table id="myTable" class='helpTable'>");
table.append("<tr id='1'><td>content<td></tr>");code
table.append("<tr id='2'><td>content<td></tr>"); code
$('#tableContainer').append(table);
现在我想在表格行上添加事件,如
$("#myTable tr").on('click',function(event) {
alert("Hi"); });
它不起作用,但是以下情况正在发挥作用
$("#tableContainer").on('click',function(event) {
alert("Hi"); });
即。我可以在静态html标签上有活动
答案 0 :(得分:2)
您需要使用event delegation作为表格,并且tr元素是动态创建的
$("#tableContainer").on('click', '#myTable tr', function (event) {
alert("Hi");
});
答案 1 :(得分:1)
以下是使用委托
的最终解决方案 $("#tableContainer").on('click', 'tr', function (event) {
alert("Hi");});
从父元素到子元素的委托。
Jquery是Javascript的简写,动态元素的委托不是简写。