Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery id选择器没有为不存在的元素返回空数组?_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript 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

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

$('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)