2017-08-30 101 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 
} 

这是为了实现你想要的最好的方式。

相关问题