2017-01-03 75 views
0

如何查找表中是否包含任何行。我試過,但有錯誤:如何查找表中是否存在tr元素

Cannot read property 'length' of undefined

if($("#tblNames").tr.length > 0) 
{ 
    alert('row exists'); 
} 
else 
{ 
    alert('row doesn't exist') 
} 

例如下表的HTML不包含任何tr,我如何檢查呢?

<table id="tblNames"> 

</table> 
+0

用'find()':'$( 「#tblNames」)找到( 'TR')length'或者只是把它直接選擇: '$('#tblNames tr')。length'。無論哪種方式,我會*強烈*建議您閱讀jQuery文檔,因爲如果您打算研究正確的語法,這很容易解決:http://api.jquery.com –

+0

好的技巧,以避免這種錯誤當你檢查可以未定義的對象的道具時,使用條件'object && object.prop'就好像對象未定義一樣,它不會嘗試檢查道具。 –

回答

4

將其更改爲:

if($("#tblNames tr").length > 0) 

你有一個jQuery對象,而您試圖訪問tr節點在裏面,這是不存在的。建議您改變您的jquery選擇器tr或使用.find('tr').length

1

使用選擇$("#tblNames tr")而不是像$("#tblNames").tr以下。

if($("#tblNames tr").length > 0) 
{ 
    alert('row exists'); 
} 
else 
{ 
    alert('row doesn't exist') 
} 
0
if($("#tblNames")[0].tr.length > 0) 
{ 
    alert('row exists'); 
} 
else 
{ 
    alert("row doesn't exist"); 
} 

HTML

<table id="tblNames"> 

</table>