我在做
var tag = $("#foo");
if(tag != null) {
// do something
}
问题是,即使首次执行脚本时标记不存在,标记变量的值也是非空的,因此它会破坏代码。
为什么会这样?
答案 0 :(得分:8)
jQuery选择器永远不会返回null - 你得到一个空的jQuery集合。您可以测试:
if(tag.length){
// do something
}
如果找不到任何内容, tag.length
将为零,这在JavaScript中是错误值。
更好的是,如果您所做的只是简单的jQuery操作,那么您根本不需要检查结果 - 空操作会无声地失败以允许链接:
$('#id').show().find('.field').css('color', 'red')
.add('#otherId').text('done');
答案 1 :(得分:0)
您必须检查length
属性以查看元素是否存在。
为了更好的方法,您可以参考this Stackoverflow线程。
答案 2 :(得分:0)
您也可以使用 尺寸 来做同样的事情。
if ( $(selector).size() > 0 ) {
//do something
}