0

http://codepen.io/leongaban/pen/quzyx

嗨,基本上request特定 td 上的选择器 -row 在 jQuery 中点击了点击事件。

我能够获得与data-message-idtr 相关联的数字,但是我无法找到正确的方法来定位第一个 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);

});


当单击具有类名的 td 时,您将如何重写// if accepted then change up the content displayed...注释下的代码以获取图像上的类名request-row

我的 Codepen:http ://codepen.io/leongaban/pen/quzyx

4

3 回答 3

4

一种方法是:

$(this).siblings('td.table-icon').find('img').attr('class');

jsFiddle在这里。

于 2013-07-17T22:26:15.177 回答
0
var $status = $(this).siblings().first().children('img').attr('class');
于 2013-07-17T22:26:09.377 回答
0

由于您的图像在 td 中,因此不是 silbling this,您需要选择包含图像的兄弟,然后获取图像:

$(this).siblings('td:has(img)').children('img').attr('class')
于 2013-07-17T22:26:19.810 回答