JQuery复杂的选择器问题

时间:2012-05-11 17:58:10

标签: javascript jquery jquery-selectors

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

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

3 个答案:

答案 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')