我看到一个jQuery id选择器返回一个应该不存在的元素的单个数组项。
我的函数中的 $('#bootstrap_alert_placeholder')
返回(来自Chrome控制台)
[context: document, selector: "#bootstrap_alert_placeholder", jquery: "1.9.1", constructor: function, init: function…]
但是当我在控制台中调用选择器来仔细检查输出时,我看到一个空数组,这就是我所期望的。
任何人都知道这里发生了什么?我希望函数可以使用不同的上下文执行,但我不知道这会如何影响选择器的结果。
答案 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对象不像null
或undefined
那样“空”。它是空的,因为长度为0,但仍然是一个jQuery对象
console.log($("#blah_im_not_a_real_element").constructor)