在jQuery中如何判断对象是否存在

如果是下面的 jQuery 代码判断一个对象是否存在,是不能用的。

1
2
3
4
5
if($("#id")){
//...
}else{
//...
}

因为$(“#id”)不管对象是否存在都会返回 object 。

正确使用判断对象是否存在应该用:

1
2
3
4
5
if($("#id").length>0){
//...
}else{
//...
}

使用 jQuery 对象的属性 length 来判断,如果 > 0 就存在。

或者

1
2
3
4
5
if($("#id")[0]){
//...
}else{
//...
}

或者直接使用原生的 Javascript 代码来判断:

1
2
3
4
5
if(document.getElementById("id")){
//...
}else{
//...
}