每次我尝试计算表中的行数时都会出于某种原因 它总是返回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>
答案 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);