检查td onclick的元素?

时间:2014-03-21 07:14:53

标签: jquery html-table

[DEMO] [1]我想检查td onclick按钮的元素,但不应将该按钮计为表的元素。

html code

<table id="inspect">
<tr>
    <td>12</td>
    <td>13</td>
    <td>14</td>
    <td>15</td>
    <td>16</td>
    <td>
        <input type="button" class="click"></input>
    </td>
 </tr>
</table>

jquery

$("#inspect").click(function () {
    alert('total rows -' + $this.parents('tr').find('td').length);
});

2 个答案:

答案 0 :(得分:1)

您需要进行以下更改:

1)在不是表格的按钮上应用.click()

2)使用.closest()代替.parent(),因为您的按钮位于td

$(".click").click(function () {
    alert('total rows -' + $(this).closest('tr').find('td').length);
});

根据您的评论,您可以使用.map()

$(".click").click(function () {
    var currentTd = $(this).parent();
    var tdStr = $(this).closest('tr').find('td').not(currentTd).map(function() {
       return $(this).text(); 
    }).get().join(',');

    alert(tdStr);
});

<强> Fiddle Demo

答案 1 :(得分:1)

您可以简单地将其扣除1,因为没有其他按钮带有td:

$(".click").click(function () {
    alert('total rows -' + $(this).closest('tr').find('td').length - 1);
});