jQuery id选择器不为非existant元素返回空数组?

时间:2013-04-21 18:54:04

标签: javascript jquery jquery-selectors

我看到一个jQuery id选择器返回一个应该不存在的元素的单个数组项。

我的函数中的

$('#bootstrap_alert_placeholder')返回(来自Chrome控制台)

[context: document, selector: "#bootstrap_alert_placeholder", jquery: "1.9.1", constructor: function, init: function…]

但是当我在控制台中调用选择器来仔细检查输出时,我看到一个空数组,这就是我所期望的。

任何人都知道这里发生了什么?我希望函数可以使用不同的上下文执行,但我不知道这会如何影响选择器的结果。

1 个答案:

答案 0 :(得分:2)

在此页面的控制台中尝试此操作:

console.log($("#blah"));
//possible output in chrome: 
//[context: document, selector: "#blah_im_not_a_real_element", 
//constructor: function, init: function, selector: ""…]

//or in firefox: ({context:({}), selector:"#blah"})


 console.log($("#blah_im_not_a_real_element").length)
//outputs 0

jQuery对象不像nullundefined那样“空”。它是空的,因为长度为0,但仍然是一个jQuery对象

console.log($("#blah_im_not_a_real_element").constructor)