0

这是我的 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>点击如何,我总是只获得第一个。

4

1 回答 1

4

改用这个:

$("#patient_table").on('click','td',function (e) {
    var id = $(this).closest('tr').attr('id');
    alert(id);
});

jsFiddle 示例

由于您提到了动态生成的行,因此您希望.on()将事件处理委托给表格单元格。

于 2013-06-17T15:05:50.317 回答