在jquery中获取子项的值

时间:2011-09-01 21:46:23

标签: jquery html

当用户点击下一个单元格时,如何获取表格中单元格的值?

<table id="registrarsTable">

<c:forEach items="${requestScope.AllUsers}" var="user" varStatus="loop">
    <tr class="userRow">
        <td class="numberWidth">${loop.index + 1}</td>
        <td class="nameWidth user" id="${user.userno}">${user.fullName}</td>
        <td>

         <button name="DeactivateBtn"  id="deactivate" class="deactivate btn">deactivate</button>

        </td>
    </tr>
</c:forEach>

在jquery中我想在用户点击停用按钮时从第二个td获取属性“id”的值。

我这样做

var userNo = $('td.user', $(this).parents(".userRow")).attr('id');

并且喜欢这个

      var userNo = $($(this).parent(".userRow") > "td").attr("id");

并且没有人工作!

1 个答案:

答案 0 :(得分:1)

$('#deactivate').click(function() {
    var userNo = $(this).parent().prevAll('td.user').attr('id');
});

从按钮(this),遍历到父级(包含停用按钮的<td>)。然后,使用类<td>添加到上一个兄弟user,并获取id属性。

或者,如果您想避免依赖于用户名<td>后停用按钮位于<td>中的事实,您可以执行以下操作:

$('#deactivate').click(function() {
    var userNo = $(this).closest('tr').find('td.user').attr('id');
});

通过<tr>查找父closest,然后<td class="user">查找find

工作示例:http://jsfiddle.net/FishBasketGordo/Bk6ML/

API参考: