我有以下HTML结构,我想找出立即<td>s
的长度。这是我正在使用的代码: -
<table class="PrintTable">
<tr>
**<td>**
<table>
<thead>
<tr><th>Type Of Transaction</th></tr>
</thead>
<tbody>
<tr>
<td>Name</td>
</tr>
<tr>
<td>Age</td>
</tr>
</tbody>
</table>
</td>
**<td>**
<table>
<thead>
<tr><th>2006</th></tr>
</thead>
<tbody>
<tr>
<td>Andi</td>
</tr>
<tr>
<td>25</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
我用来找出td长度的函数是
function getBody(element)
{
var divider=2;
var originalTable=element.clone();
var tds = $(originalTable).children('tr').children('td').length;
alert(tds);
}
我看到的结果是0.根本没有任何线索。我期待2.任何帮助将不胜感激。
答案 0 :(得分:19)
我从HTML中删除了星号并对你如何调用getBody
做了一些假设,所以如果我做了一些不对的事,请告诉我。
function getBody(element) {
var divider = 2;
var originalTable = element.clone();
var tds = $(originalTable).children('tbody').children('tr').children('td').length;
alert(tds);
}
getBody($('table.PrintTable'));
最大的变化是添加.children('tbody')
。 HTML解释器将tr
包装在tbody
中。走到那里,你会没事的。
答案 1 :(得分:4)
我想你想使用以下内容。
$("td").length
更新
您将需要使用tr标记作为开始选择器,然后使用第一个来计算每个td选择器以仅占用第一个。
$("tr", $("td:first")).length
答案 2 :(得分:3)
试试这个:
//For FFox
$(document).ready(function(){
var countTD=$("Your_Table_ID_or_Class tr:first > td").length;
});
// For webKit Browser
$(window).load(function(){
var countTD=$("Your_Table_ID_or_Class tr:first > td").length;
});
请注意;如果您创建动态表行列,则使用
$(document).live("click",function(){});
答案 3 :(得分:1)
这应该有效:
var itemsCount = $(".PrintTable > tr > td").length;
<强>更新强>
我刚刚意识到至少Chrome会插入<tbody>
(如果它尚不存在),因此要获得跨浏览器支持:
var itemsCount = $(".PrintTable > tbody > tr > td, .PrintTable > tr > td").length;
答案 4 :(得分:1)
一般来说,如果你想计算特定行中td
的数量,你可以这样做..
$(function(){
count = $("table tr").children("td").index()+1;
});
答案 5 :(得分:1)
var rowCount = $('#myTable tr')。length;
答案 6 :(得分:0)
var originalTable = $(remove_copy_drargelement).closest('table').clone();
var tds = $(originalTable).children('tbody').children('tr').children('td').length;