我在表头中有一个包含几个输入字段的tr。
有没有办法通过点击其中一个输入字段我可以得到父表的id?
我的tr看起来像这样:
<table id="tableID">
<thead>
<tr>
<th><input type="text" name="input1" id="input1" /></th>
<th><input type="text" name="input2" id="input2" /></th>
<th><input type="text" name="input3" id="input3" /></th>
</tr>
</thead>
<tbody>
// ...
</tbody>
</table>
答案 0 :(得分:30)
在点击处理程序中,您可以使用.closest()
$(this).closest('table').attr('id')
答案 1 :(得分:2)
$("#tableID").on("click","input[type='text']",function(){
$(this).closest('table').attr('id');
});
参考 closest()
答案 2 :(得分:1)
您应该委派事件以避免多个处理程序,然后使用delegateTarget
来定位当前的TABLE:
$('table').on('click', 'input', function (e) {
alert(e.delegateTarget.id);
});
答案 3 :(得分:1)
您可以使用
$('#tdId').click(function(){
$(this).parents('table').attr('id');
});
它有效。