使用jquery最接近选择第一个<td>值

Pet*_*ter 2 jquery css-selectors

我正在使用jquery数据表生成html表.我设置了一个回调来为链接创建一个额外的列(编辑,删除等...).

我设置了一个绑定功能来检测点击,这是有效的.

我遇到的问题是在单击时选择最近一行的第一列的文本/值.

这是绑定到类并检测到单击的片段.


$(".drop").bind('click', function(e)  
{  
   var val = $(e.target).closest('td:first').text();  
   alert(val);                             
});
Run Code Online (Sandbox Code Playgroud)

生成后的HTML表格


<tbody>
            <tr class="odd">
                <td>doug@thisisatest.org</td>

                <td>doug@email.com</td>

                <td>1000012342015292781</td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="even">
                <td>cameron@email.com</td>

                <td></td>

                <td></td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="odd">
                <td></td>

                <td>jeniper@yay.com</td>

                <td>1734001234268</td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="even">
                <td>test@iaretester.com</td>

                <td></td>

                <td></td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="odd">
                <td></td>

                <td>dou@blah.com</td>

                <td>10000201142345292781</td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="even">
                <td>delze@tester.net</td>

                <td></td>

                <td></td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="odd">
                <td>boo@boo.com</td>

                <td></td>

                <td></td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="even">
                <td>petroz@ouch.com</td>

                <td>petroz@test.com</td>

                <td>100000723143211905</td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="odd">
                <td>helze@arg.com</td>

                <td></td>

                <td></td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>

            <tr class="even">
                <td></td>

                <td>cameron@test.com</td>

                <td>8197906212343</td>

                <td><a href="#" class="drop">Delete</a></td>
            </tr>
        </tbody>

Run Code Online (Sandbox Code Playgroud)

Šim*_*das 6

这应该这样做:

var val = $(e.target).closest('td').siblings(':first-child').text();  
Run Code Online (Sandbox Code Playgroud)

现场演示: http ://jsfiddle.net/simevidas/JZwxD/