2017-08-30 138 views
-4

我呈現在PHP的HTML和使用jQuery。他們有這樣的html代碼:如何判斷空對象?

<div> 
    <tr class="selectClass"></tr> 
    <tr class="selectClass"></tr> 
</div> 

在一定條件下,它會刪除該<tr class="selectClass"></tr>, 併成爲:

<div> 

</div> 

我要判斷這兩種情況,我嘗試不同的方式,但結果很奇怪。

var selectTr = $('.selectClass') ; 

    if(selectTr){ 
     console.log("i am undefined") ; 
    } 

它不打印任何東西。

var selectTr = $('.selectClass') ; 

    if(typeof (selectTr) == "undefined" ){ 
     console.log("i am undefined") ; 
    } 

它不打印「我是未定義的」。 所以我試試 console.log(typeof (selectTr)) ,它是對象

我的問題是:

如何判斷一個空的對象,爲什麼它是對象而不是null或undefined?

+2

提供的HTML無效,'div'不是['tr']的允許父項(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr)。 – Teemu

+0

首先,你不能把'tr'元素作爲'div'的子元素。其次,使用'length'屬性來確定選擇器找到了多少個元素。 –

+1

一個空的DOM對象不是未定義的。它被定義。它只是沒有任何孩子。我建議學習真正的JavaScript。 – NonameSL

回答

3

你必須檢查所選元素的長度一樣

if($('.selectClass').length === 0){ 
    //there is no element with the class selectClass 
} 

這是爲了實現你想要的最好的方式。

相關問題