我有HTML表,某些行属于一个类,每个行都有一个id。我使用jquery为该类附加了一个onclick处理程序。单击该类中的任何行时,将触发单击事件。但事件的源传播到单击行中的元素。如何获取包含td(事件源)的行的id?
HTML:
<table>
<tr class="onegroup" id="parent_1">
<td> Item 1 </td>
<td> Item 2 </td>
</tr>
</table>
Jquery的:
$(".onegroup").click(function (event) {
alert(event.target.id); // currently displays undefined as neither of the <td> have an id.
//Want to display the id of the row ('parent_1')
});
答案 0 :(得分:2)
使用jQuery,您不需要去获取event.target,因为上下文( this )设置为单击的元素并且与选择器匹配。
更清楚:
上下文将被设置为第一个符合事件冒泡的元素,适合指定的选择器。
由于这个$(this).is('.onegroup')
将总是在你的handler-function中返回true,因为它是你点击的绑定器。
$(".onegroup").click(function () {
alert($(this).attr("id"));
});