[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);
});
答案 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);
});