http://codepen.io/leongaban/pen/quzyx
嗨,基本上是选择器request
- 特定td的行,它在jQuery中点击了一个click事件。
我能够获得与tr上的data-message-id
相关联的数字,但是我找不到正确的方法来定位第一个td中图像上的类的名称。
HTML标记:
<table>
<tr data-message-id="101010">
<td class="table-icon request-row">
<img class="accepted-icon" src="http://leongaban.com/_projects/whoat/_HTML/img/icon-orange-tick.png" alt="Accepted"/>
</td>
<td class="data-name request-row">
Name
</td>
<td class="data-career request-row">
Title
</td>
<td class="data-company request-row">
Company
</td>
<td>Some image goes here<!--Not clickable--></td>
</tr>
</table>
我的jQuery
$(".request-row").unbind('click').bind('click', function () {
alert('clicked .request-row');
var $tr = $(this).closest("tr");
var id = $tr.data('message-id');
msg_id_incoming = id;
var userType = $tr.data('type');
// if accepted then change up the content displayed...
//var $status = $(this).parent.children('img').attr('class');
var $status = $(this).siblings('img').attr('class');
alert($status);
});
如何在// if accepted then change up the content displayed...
注释下重新编写代码,以便在点击类名request-row
的td时获取图像上的类名?
我的Codepen:http://codepen.io/leongaban/pen/quzyx
答案 0 :(得分:4)
答案 1 :(得分:0)
var $status = $(this).siblings().first().children('img').attr('class');
答案 2 :(得分:0)
由于你的图像是td,因此不是this
的兄弟,你需要选择包含图像的兄弟,然后获取图像:
$(this).siblings('td:has(img)').children('img').attr('class')