Javascript jQuery id选择器没有为不存在的元素返回空数组?
我看到jQuery id选择器为不存在的元素返回单个数组项Javascript jQuery id选择器没有为不存在的元素返回空数组?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我看到jQuery id选择器为不存在的元素返回单个数组项 $('bootstrap\u alert\u placeholder')在我的函数中返回(从Chrome控制台) 但是当我在控制台中调用选择器来双重检查输出时,我看到一个空数组,这就是我所期望的 有人知道这里发生了什么吗?我希望函数在此上下文中以不同的方式执行,但我看不出这会对选择器的结果产生什么影响。在控制台中,在本页上尝试以下操作: console.log($("#blah")); //possible output in chro
$('bootstrap\u alert\u placeholder')
在我的函数中返回(从Chrome控制台)
但是当我在控制台中调用选择器来双重检查输出时,我看到一个空数组,这就是我所期望的
有人知道这里发生了什么吗?我希望函数在此上下文中以不同的方式执行,但我看不出这会对选择器的结果产生什么影响。在控制台中,在本页上尝试以下操作:
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)
好的,呃,不确定问题出在哪里。所有这些属性都存在于jQuery对象上;空或非空;
length
属性显示了什么?类似数组对象的Chrome控制台输出令人困惑。这个东西不包含任何项目,有length:0
,但有一些其他属性(大部分是从$.fn
继承的)啊,就是这样,只是Chrome的控制台在这种情况下令人困惑。谢谢
console.log($("#blah_im_not_a_real_element").constructor)