0

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

$('#bootstrap_alert_placeholder')在我的函数返回中,(来自 Chrome 控制台)

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

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

有人知道这里发生了什么吗?我希望该函数以不同的 this 上下文执行,但我不知道这将如何影响选择器的结果。

4

1 回答 1

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 对象不像nullor中那样“空” undefined。它是空的,长度为 0,但仍然是一个 jQuery 对象

console.log($("#blah_im_not_a_real_element").constructor)
于 2013-04-21T19:03:56.430 回答