2009-02-12 101 views

回答

12

這應該工作:

var count = $("#table tr").length; 
+0

這正是我所期待的! – 2009-02-12 02:27:27

0

它應該工作,但我相信你想要的是:

var trCount = $("table > tr").size(); 

如果使用#table,你問一個表,其中id='table'我猜是錯誤的?

1

沒有後代選擇器爲我工作,但不是與。
作品:

var trCount = $("table tr").size(); 

犯規:

var trCount = $("table > tr").size(); 

另外,還要確保你把聲明docready內部或它不會工作。

$(document).ready(function() { 
    var trCount = $("table tr").size(); 
}); 
1

嘗試:如果你使用一個TBODY,THEAD等

此外,#會選擇一個元素,任何元素

var trCount = $("table tr").size(); 

使用>可能無法正常工作,用一個id表。只要確定這是你想要的。

1

瀏覽器自動將一個tbody元素添加到DOM。

var trCount = $("#table > tbody > tr").size(); 

"table tr"發佈的答案將無法與嵌套表正確工作。

4

普通老式DOM:

document.getElementById('table').rows.length; 

將是遠遠超過要求的jQuery去上班了選擇,並返回每一行元素對你更有效。

你不必強迫你做的所有事情變成一個jQuery形狀的洞;有時舊的方式仍然是最好的。 jQuery的創建是爲了補充JavaScript的弱點,而不是完全替代整個語言。

$(「#table tr」)。size();

嵌套表失敗。

$(「#table> tr」)。尺寸();

在tbody中失敗(這很常見,因爲它們可以自動插入)。

$(「#table> tbody> tr」)。size();

在thead/tfoot中tr失敗。