为什么$(' .classname')返回一个jquery函数?

时间:2015-09-11 05:00:46

标签: jquery google-chrome google-chrome-devtools

通常当我在chrome的开发者控制台中运行$(classname)时,它通常会返回相关元素的列表。 (例如$('.img-holder')给了我[<img src='https://example.com/image.jpg'>]

然而,当我运行这个

enter image description here

它会返回jQuery.fn.init

这是DOM元素:

enter image description here

为什么会有差异?

1 个答案:

答案 0 :(得分:2)

如果你所在的网页上没有jQuery或者jQuery已经在 no conflict 模式下设置,那么它不会注册$别名,$ in Chrome控制台是document.querySelector的别名。见https://developer.chrome.com/devtools/docs/commandline-api#selector

如果jQuery注册了$别名,那么它会返回jQuery个实例(您看到的是jQuery.fn.init)。见http://api.jquery.com/jQuery/#jQuery1

您可能还会看到Chrome控制台中的优化,其中大型数组或类似数组的对象(如jQuery)已分页。较小的数组将完整显示。