<head>
<script language="javascript">
// must have the onload handler
onload = function countRows(){
var rows = document.getElementById('myTableId').getElementsByTagName('tbody')[0].rows.length;
alert(rows);
// outputs 3
}
</script>
</head>
<body>
<table id="myTableId">
<tbody>
<tr><td></td><td><input onclick="doA_Function_That_Includes_CountRows()" />
</td></tr>
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
</tbody>
</table>
</body>
</html>
Trả lời
Hãy thử điều này:
var rows = document.getElementById('myTableId').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
Nó sẽ đếm số <tr>
s trong <tbody>
, mà lần lượt sẽ là số hàng trong bảng.
Lưu ý rằng nó sẽ KHÔNG tính tất cả các hàng trong bảng chỉ trong nội dung bảng . Nếu bạn có <thead>
hoặc <tfoot>
hoặc thậm chí là một hàng bên ngoài tbody, nó sẽ không được tính.
Nó dường như không hoạt động trừ khi hàm được khởi tạo sau khi TBODY trong HTML. Tôi không thể thực hiện cuộc gọi đến hàm trong tiêu đề. Tôi phải đặt nó sau Tbody. – phpmeh
Rõ ràng. như với bất kỳ mã JavaScript nào, nếu một phần tử chưa được trình duyệt tải xuống, phần tử đó không tồn tại trên trang. Nói chung, các thẻ '
Hãy thử:
var numberOfRows = document.getElementById('myTableId').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
Một cách khác, bằng cách sử dụng rows
property [MDN]:
var num = document.getElementById('myTableId').rows.length;
Nếu bạn chỉ muốn đếm các hàng từ các yếu tố đầu tiên tbody
, chọn điểm đó trước (tBody
property [docs])
var num = document.getElementById('myTableId').tBodies[0].rows.length;
+1 cho' tbodies'. Tôi không có ý tưởng nào tồn tại. – Ryan
Tôi đã làm cho nó hoạt động theo cách này. Nó đã cho tôi 1. Khi tôi gọi điện thoại đến chức năng sau tbody của tôi, nó hoạt động. Thật không may, tôi cần gọi hàm ở đầu Tbody. – phpmeh
@phpmeh: Bạn chỉ có thể tham khảo hoặc nhận thông tin về phần tử DOM sau khi được tạo. –
Dưới đây là triển khai hoạt động:
var table = document.getElementById("myTableId");
var tbody = table.tBodies[0];
alert(tbody.rows.length);
Và một jsFiddle mẫu: http://jsfiddle.net/9a6zK/
- 1. Bắt số đếm hàng cho một bảng trong MySQL?
- 2. Nhận số hàng không bị ẩn trong một bảng
- 3. Bảng Windows Azure - Đếm hàng?
- 4. Đếm các hàng của bảng
- 5. Jquery chỉ đếm số trong một chuỗi
- 6. MySQL - đếm tổng số hàng trong php
- 7. Sử dụng jquery để lấy tổng số hàng và tổng số bảng lớn
- 8. SQL - Làm thế nào để đặt hàng Sử dụng Đếm Từ Bảng Một
- 9. Lấy số hàng trong bảng bằng cách sử dụng SQLAlchemy
- 10. Postgresql Nhiều số đếm cho một bảng
- 11. Chọn hàng bảng trong jQuery
- 12. Tìm chỉ mục hàng bảng bằng cách sử dụng jQuery
- 13. Làm thế nào để đếm các hàng trong GridView trong asp.net bằng cách sử dụng jQuery
- 14. JavaScript để nhận các hàng đếm một bảng HTML
- 15. Hibernate đếm hàng với một số tiêu chí
- 16. Cách đếm số hàng trong powershell
- 17. Truy xuất các hàng trước và tiếp theo trong một bảng bằng cách sử dụng jQuery
- 18. Đếm số hàng trong trang tính
- 19. Javascript: Đếm số cột trong một dòng của bảng
- 20. Cập nhật một hàng trong bảng, sử dụng liquibase
- 21. jquery xóa bảng hàng
- 22. jQuery - chọn hàng thứ hai trong bảng?
- 23. Hàng bảng jQuery Clone
- 24. Đếm số nguyên trong một chuỗi
- 25. Đếm các hàng trong một TDbGrid
- 26. Đếm các hàng trong một văn bản
- 27. t-SQL Sử dụng số hàng, nhưng trên hàng trùng lặp, sử dụng cùng một số
- 28. Sử dụng named_scope để nhận số hàng
- 29. Sử dụng LINQ để đếm giá trị tần số
- 30. Làm cách nào để đếm các ô trong một hàng bằng JQuery?
Bạn có muốn đếm số lượng hàng trong bảng, hoặc tbody? – Thai
Trong tbody. bảng có một tiêu đề và các hàng khác bên ngoài tbody tôi không muốn đếm. – phpmeh