刚开始接触jQuery,写了一个判断对象或变量是否为空的方法
function isValid(obj) {
return obj != undefined && obj != null && obj != "";
}
这个方法我一般是用在页面验证上的,可是最近碰到了问题:
在新增的需求上,页面上可以随时增加表格填写提交,也可以删除表格。于是当表格删除时,此方法依然返回true,对已删除的表格进行验证。
我试着将obj打印出来,才发现被删除的obj依然是Object,也就是以上方法无法判断对象是否存在。
上网搜索下:原因是===
因为jQuery在获得对象的时候,无论要获得的对象是否存在,都会返回jQuery对象。
解决方案:
- obj.length > 0:obj存在则返回true
function isValid(obj) {
if(obj.length == 0)
return false;
return obj != undefined && obj != null && obj != "";
}
- obj[0]:obj存在则返回true
function isValid(obj) {
if(!obj.length[0])
return false;
return obj != undefined && obj != null && obj != "";
}
解决jQuery中对象不存在判断问题
本文介绍在使用jQuery处理动态网页元素时,遇到对象不存在却仍返回jQuery对象的情况,并提供解决方案来正确判断对象是否存在。
138

被折叠的 条评论
为什么被折叠?



