我有点困惑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')返回一个不匹配任何内容的选择器,而不是一个空对象{}