jQuery表计数行总是返回值1

时间:2010-03-02 15:59:14

标签: jquery count html-table rows

每次我尝试计算表中的行数时都会出于某种原因 它总是返回1.我动态添加和删除行 表,所以我开始认为它只是计算行数 最初在表中配置。这是我正在使用的代码。

$(".elementDelRowButton").live ('click', function (event) {

console.log ($(this).closest('table').length);
                  if ($(this).closest('tr').index()!=0) {
                      $(this).parent().parent().remove();
                  }

            });

我尝试过使用尺寸,长度和其他变化,它总是返回1.

这是HTML:

<table id="element_items"><tr>
  <td><input type="radio" name="radio" /></td>
  <td><input type="text" value="RadioItem"/></td>
  <td><span class="elementAddRowButton">+</span>/<span class="elementDelRowButton">-</span></td>
</tr>
</table>

3 个答案:

答案 0 :(得分:4)

可能是你的所有行中都有一个tbody。试试这个:

console.log($(this).closest('table').find('tr').length);

顺便说一句,“this.parent()。parent()。remove()”看起来很危险。您可能希望使用选择器和“最近”功能。

答案 1 :(得分:2)

console.log($(this).closest('table')。length);只返回一个jquery集,其中包含最接近的标签“table”...该集合包含一个不变的元素,表本身,最接近返回匹配的第一个父元素

console.log($(this).closest('table')。children(“tr”)。length应该给出行数

答案 2 :(得分:0)

谢谢大家..这对我的情况有用:

console.log($(this).closest('table')。find('tr')。length);