为什么$ .isEmptyObject($('#id-does-not-exists-on-page'))返回false?

时间:2012-10-11 07:48:29

标签: jquery

我对jQuery.isEmptyObject method感到困惑。

$.isEmptyObject([]) - >返回true

$('#id-does-not-exist-on-page') => []

$.isEmptyObject($('#id-does-not-exist-on-page'))返回false

为什么? 感谢。

3 个答案:

答案 0 :(得分:8)

来自isEmptyObject

  

检查对象是否为空(不包含属性)

但是,

$('#id-does-not-exist-on-page')仍有属性。

$('#id-does-not-exist-on-page').addClass('abra_ka_dabra') //有效

[].addClass('abra_ka_dabra'); // TypeError:对象没有方法' addClass'

所以,

试试这个

$.isEmptyObject($('#id-does-not-exist-on-page')[0])

答案 1 :(得分:2)

根据jQuery文档(isEmptyObject):

  

参数应该始终是一个普通的JavaScript Object作为其他类型   对象(DOM元素,原始字符串/数字,宿主对象)可以   不能跨浏览器提供一致的结果

答案 2 :(得分:0)

因为$('#id-does-not-exist-on-page')返回的选择器不匹配任何空对象,而{}