这是我的html表
<table>
<thead>
<tr>
<td class="td20"><h3>Patient Name</h3></td>
<td class="td20"><h3>Summary</h3></td>
<td class="td20"> <h3>Created</h3></td>
<td class="td20"><h3>Last visit</h3></td>
<td class="td20"> <h3>Refer to a Doctor</h3></td>
</tr>
</thead>
<tbody id="patient_table">
<tr id="1">
<td class="td20">Patient Name</td>
<td class="td20">Summary</td>
<td class="td20">Created</td>
<td class="td20">Last visit</td>
<td class="td20">Refer to a Doctor</td>
</tr>
<tr id="2">
<td class="td20">Patient Name</td>
<td class="td20">Summary</td>
<td class="td20">Created</td>
<td class="td20">Last visit</td>
<td class="td20">Refer to a Doctor</td>
</tr>
</tbody>
</table>
这是我的剧本:
$("#patient_table").click(function(e) {
var id = $(this).children('tr').attr('id');
alert(id);
});
在<tr>
内动态生成<tbody>
。
我需要点击id
本身找到<tr>
<tr>
。
使用该脚本,我总是得到第一个<tr>
id
,而不管第二个<tr>
点击。
答案 0 :(得分:3)
请改用:
$("#patient_table").on('click','td',function (e) {
var id = $(this).closest('tr').attr('id');
alert(id);
});
<强> jsFiddle example 强>
由于您提到了动态生成的行,因此您希望使用.on()
将事件处理委派给表格单元格。