jQuery:如果$('#id')与任何内容不匹配,会返回什么?

时间:2009-05-24 17:02:24

标签: javascript jquery css jquery-selectors

如果$('#id')与任何内容不匹配,会返回什么?我认为这将是null或false或类似的东西,所以我尝试检查:

var item = $('#item');
if (!item){
    ...
}

但那没用。

4 个答案:

答案 0 :(得分:46)

您可以使用以下方法找到匹配的元素数量:

$('selector').length

要检查是否未匹配任何元素,请使用:

var item = $('#item');
if (item.length == 0) {
  // ...
}

答案 1 :(得分:7)

虽然$('selector').length非常适合查找选择器匹配的对象数量,但它实际上完全不需要。关于jQuery的事情是所有基于选择器的函数都在内部使用长度,因此您可以只执行$(selector).hide()(或其他),并且对空集不采取任何操作。

答案 2 :(得分:5)

不包含DOM节点的jQuery对象。

你应该可以使用

var item = $('#item');
if (!item[0]){
    ...
}

进行存在检查。

答案 3 :(得分:1)

length属性的别名是size()方法。所以你基本上也可以查询:

$( “选择”)。大小()

查看匹配的元素数量。