如何在按钮单击时获取最接近td的值?

时间:2013-12-17 17:44:33

标签: javascript jquery html-table closest

我有包含数据和按钮的表行。 http://codepen.io/leongaban/pen/nuIkd

每个按钮对应于每一行,当您单击按钮时,它会将类名从hide更改为un_hide,下一步是使用类{{1}检索td的文本值在被点击的按钮所属的行中。

表格结构:

contact_name

使用这个jQuery,它将在所有行中获得.contact_name的所有文本值

<tr>
  <td class="contact_name" style="padding: 7px 0;">
    Name 1
  </td>
  <td>
      <button class="btn_hide">Hide</button>
  </td>
</tr>
<tr>
  <td class="contact_name" style="padding: 7px 0;">
      Name 2
  </td>
  <td>
      <button class="btn_hide">Hide</button>
  </td>
</tr>

所以我尝试这个来获取'最近'.contact_name td

的文本值
var name = $('.contact_name').text();

然而,这对我来说是空白的:(

如何通过点击第一个隐藏按钮来获得名称1 值?

3 个答案:

答案 0 :(得分:29)

.contact_name不是点击按钮的父级。

var name = $(this).closest('tr').find('.contact_name').text();

答案 1 :(得分:2)

尝试,

var name = $(this).closest('td').prev('.contact_name').text();

或者

var name = $(this).closest('tr').find('.contact_name').text();

DEMO

答案 2 :(得分:2)

var name = $(this).closest('tr').children('.contact_name').text();