2017-01-03 14 views
0

テーブルに行が含まれているかどうかを見つける方法を教えてください。どのように私はこれを確認することができ、任意のtrが含まれていないテーブルのHTML次たとえばテーブルにtr要素が存在するかどうかを調べる方法

Cannot read property 'length' of undefined

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

:私はこれを試してみましたが、エラーが発生しましたか?

+0

使用 '')(見つける:。。 '$( "#のtblNames")( 'TR')を見つけるlength'か、単にセレクタに直接それを置きます: '$( '#tblNames tr')。length'。どちらの方法でも、jQueryのドキュメントを読むことを強くお勧めします。これは、正しい構文を調べるのが面倒であれば簡単に解決できます: –

+0

この種のエラーが発生しないようにするには良いトリックです定義されていないオブジェクトのpropをチェックしているときは、 'object && object.prop'という条件をオブジェクトが定義されていないかのように使うことです。 –

答えて

4

に変更し、それを:

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

あなたはjQueryオブジェクトを持っていて、そこにされていない、それにtrノードにアクセスしようとしています。代わりにtrのjqueryセレクタを変更するか、.find('tr').lengthを使用してください。

1
<table id="tblNames"> 

</table> 

次のようにセレクタ$("#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> 
関連する問題