【发布时间】:2011-02-22 02:07:23
【问题描述】:
我正在使用 jQuery 的选择器,尤其是 id 选择器:
$("#elementId")...
我应该如何判断 jQuery 是否找到了该元素?
即使具有指定 id 的元素不存在,下一条语句给我:[object Object]
alert($("#idThatDoesnotexist"));
【问题讨论】:
标签: jquery css-selectors
我正在使用 jQuery 的选择器,尤其是 id 选择器:
$("#elementId")...
我应该如何判断 jQuery 是否找到了该元素?
即使具有指定 id 的元素不存在,下一条语句给我:[object Object]
alert($("#idThatDoesnotexist"));
【问题讨论】:
标签: jquery css-selectors
$('#idThatDoesnotexist').length 是您正在寻找的。 (如果什么也没找到,这将是=== 0。)所以你的条件语句应该是:
if($('#id').length) { /* 找到的代码 */ } else { /* 找不到的代码 */ }
您会从该警报返回一个对象,因为 jQuery(几乎)在您使用它时总是返回“jQuery 对象”,它是 jQuery 发现的允许方法链接的元素的包装器。
【讨论】:
== 0 的语法,随处可见。
if (!!$('#id').length),它会进行布尔转换。
Futuraprime 是正确的,但您可以通过执行以下操作来缩短语法:
if ($("#id").length) {
//at least one element was found
} else {
//no elements found
}
【讨论】:
!$.isEmptyObject($.find('#id'))
如果元素存在则返回 true,否则返回 false。
【讨论】:
$('#my_selector').length > 0
$('#my_selector').get(0) !== undefined
$('#my_selector')[0] !== undefined
这是基本的,现在随心所欲。
【讨论】: