我的代码中有以下表格结构
<tr>
<td>Text 1 </td>
<td>Text 2 </td>
<td> <span class="edit" onclick="EditAccountInfo(id1)" /> </td>
</tr>
<tr>
<td>Text 1 </td>
<td>Text 2 </td>
<td> <span class="edit" onclick="EditAccountInfo(id2)" /> </td>
</tr>
单击<td>
中的范围时,我想突出显示所选行(<tr>
)。我在javascript函数中使用以下代码
function EditAccountInfo(id)
{
$(this).closest('tr').css("background-color", "red");
}
我没有收到任何错误,$(this).closest('tr')
会返回有效对象,但背景颜色样式未应用于<tr>
。
我做错了什么?
答案 0 :(得分:1)
this
是window
,因为您使用的是内联事件处理程序。我会建议一种更不引人注目的方法:
<span class="edit" data-account-id="id1" />
$(document).on('click', '.edit', function() {
var $tr = $(this).closest('tr');
var id = $(this).data('account-id');
//...
});
答案 1 :(得分:0)
尝试
$(document).ready(function () {
$('td').click(function(){
$(this).parent().css("background","red");
});
});
答案 2 :(得分:0)
$('#my-table').on('click', '.edit', function () {
$(this).closest('tr').css('backgroundColor','red');
});