我只想计算行数,
<button id="add">Add row</button>
<table>
<tbody id="mytbody">
</tbody>
</table>
Number of rows: <span id="counter"></span>
使用Javascript:
$(function() {
$('#add').bind('click', function() {
$('#mytbody').after('<tr><td>'+ new Date() +'</td></tr>');
var count = $('#mytbody').children().length;
$('#counter').html(count);
});
});
我发现了jQuery: count number of rows in a table
这不起作用http://jsfiddle.net/H8sBr/
我只是觉得它不起作用。 帮助
答案 0 :(得分:12)
脚本错误,请使用append()
:
$(function() {
$('#add').bind('click', function() {
$('#mytbody').append('<tr><td>'+ new Date() +'</td></tr>');
var count = $('#mytbody').children('tr').length;
$('#counter').html(count);
});
});
答案 1 :(得分:6)
使用纯js获取tr
计数;
var count = document.getElementById("mytbody").getElementsByTagName("tr").length;
答案 2 :(得分:1)
因为你正在使用after(),你的代码是在#mytbody之后添加tr,
<button id="add">Add row</button>
<table>
<tbody id="mytbody">
</tbody>
<tr>Tue Feb 26 2013 23:41:09 GMT+0530 (India Standard Time)</tr>
<tr>Tue Feb 26 2013 23:41:09 GMT+0530 (India Standard Time)</tr>
</table>
所以当你执行代码时
$('#mytbody').children().length;
总是会让你回归0。
所以代替after()尝试使用append()http://forum.jquery.com/topic/after-vs-append
答案 3 :(得分:0)
您没有.append()
个新的<tr>
个节点,而是在表体后插入。使用
$('#mytbody').append('<tr><td>'+ new Date() +'</td></tr>');
代替。
答案 4 :(得分:0)
试试这个:
$('#add').click(function() {
$('#mytbody').append('<tr><td>'+ new Date() +'</td></tr>');
var count = $('#mytbody > TR').length;
$('#counter').html(count);
});
答案 5 :(得分:0)
试试这个jsFiddle example。
$('#add').bind('click', function () {
$('#mytbody').append('<tr><td>' + new Date() + '</td></tr>');
var count = $('#mytbody tr').length;
$('#counter').html(count);
});
您只能使用$('#mytbody tr').length
,但您还必须使用append
代替after
。
答案 6 :(得分:0)
纠正你的JS代码。的 http://jsfiddle.net/HwEA7/ 强>
$(function() {
$('#add').bind('click', function() {
$('#mytbody').append('<tr><td>'+ new Date() +'</td></tr>');
var count = $('#mytbody tr').length;
$('#counter').html(count);
});
});
append
在<tbody>
$('#mytbody tr').length