我正在使用jQuery的选择器,尤其是id选择器:
$("#elementId")...
我应该如何确定jQuery是否找到了该元素?
即使具有指定id的元素不存在,下一个语句也会给我:[object Object]
alert($("#idThatDoesnotexist"));
答案 0 :(得分:174)
$('#idThatDoesnotexist').length
正是您正在寻找的。 (如果没有找到任何内容,则会=== 0
。)所以你的条件语句应该是:
if($('#id').length) { /* code if found */ } else { /* code if not found */ }
您正在从该警报返回一个对象,因为jQuery(几乎)总是在您使用它时返回“jQuery对象”,这是jQuery发现允许方法链接的元素的包装。
答案 1 :(得分:26)
Futuraprime是正确的,但您可以通过执行以下操作来缩短语法:
if ($("#id").length) {
//at least one element was found
} else {
//no elements found
}
答案 2 :(得分:11)
!$.isEmptyObject($.find('#id'))
如果元素存在,则返回true,否则返回false。
答案 3 :(得分:7)
$('#my_selector').length > 0
$('#my_selector').get(0) !== undefined
$('#my_selector')[0] !== undefined
这是基本的,现在可以随心所欲。