我有点困惑jQuery.isEmptyObject method
。
$.isEmptyObject([])
-> 返回真
但
$('#id-does-not-exist-on-page')
=> []
$.isEmptyObject($('#id-does-not-exist-on-page'))
返回假
为什么 ?谢谢。
我有点困惑jQuery.isEmptyObject method
。
$.isEmptyObject([])
-> 返回真
但
$('#id-does-not-exist-on-page')
=> []
$.isEmptyObject($('#id-does-not-exist-on-page'))
返回假
为什么 ?谢谢。
检查对象是否为空(不包含属性)
但,
$('#id-does-not-exist-on-page')
还是有属性的。
$('#id-does-not-exist-on-page').addClass('abra_ka_dabra')
// 有效的
[].addClass('abra_ka_dabra');
// TypeError: Object has no method 'addClass'
所以,
试试这个
$.isEmptyObject($('#id-does-not-exist-on-page')[0])
根据 jQuery 文档(isEmptyObject):
参数应始终是纯 JavaScript 对象,因为其他类型的对象(DOM 元素、原始字符串/数字、宿主对象)可能无法在浏览器之间给出一致的结果
因为$('#id-does-not-exist-on-page')
返回一个不匹配任何内容的选择器,而不是一个空对象{}