1

应该很容易。我正在为每个表格行添加一个按钮,该按钮从该行中的多个表格单元格中获取信息。

<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');
4

3 回答 3

2

您当前的工作解决方案是最好的方法(或类似的方法,例如):

$(this).closest('tr').children('td:eq(0) > img').attr('src');

对于这个问题,您将无法避免必须爬上树然后再下来。有几种方法可以实现这一点,但不是在单个选择器中。

于 2012-05-11T18:00:46.973 回答
1

尝试:

$(this).closest('tr').find('td').eq(0).find('img').attr('src');

或者:

 $(this).closest('tr').find('td:first').find('img').attr('src');
于 2012-05-11T17:59:58.933 回答
0

我最近做了类似的事情。我只是使用了父母和第一个孩子。

$(this).closest('tr').find('td:first-child img').attr('src')
于 2012-05-11T18:02:07.577 回答