应该很容易。我正在为每个表行添加一个按钮,该按钮从该行中的多个表格单元格中获取信息。
<tr>
<td><img src='targetInfo' /></td>
<td></td>
<td>
<div>CLICKED ELEMENT</div>
</td>
</tr>
我希望:
this: $(this).closest('tr td:eq(0) img').attr('src');
或
this: $(this).closest('tr>td:eq(0)>img').attr('src');
工作,但都没有正常工作。
目前我不得不使用下面的内容,这似乎是次优的。我的选择器中缺少什么?
$(this).closest('tr').children('td:eq(0)').children('img').attr('src');
答案 0 :(得分:2)
您当前的工作解决方案是最好的方法(或类似的方法,例如):
$(this).closest('tr').children('td:eq(0) > img').attr('src');
对于此问题,您将无法避免必须爬树然后退回。有几种方法可以实现这一目标,但不是在单一选择器中。
答案 1 :(得分:1)
尝试:
$(this).closest('tr').find('td').eq(0).find('img').attr('src');
或:
$(this).closest('tr').find('td:first').find('img').attr('src');
答案 2 :(得分:0)
我最近做过类似的事。我只是用父母和小孩子。
$(this).closest('tr').find('td:first-child img').attr('src')