我对jQuery.isEmptyObject method
感到困惑。
$.isEmptyObject([])
- >返回true
但
$('#id-does-not-exist-on-page')
=> []
$.isEmptyObject($('#id-does-not-exist-on-page'))
返回false
答案 0 :(得分:8)
检查对象是否为空(不包含属性)
但是,
$('#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')
返回的选择器不匹配任何空对象,而{}