为什么 jQuery class 选择器只有 return 一个元素?

Why does jQuery class selector only return one element?

文档中有多个带class的div。

如控制台所示,document.getElementsByClassName 产生:

document.getElementsByClassName('current-pad-o')
HTMLCollection (2) = 
0 <div class="red current-pad-o"> first value </div>
1 <div class="red current-pad-o"> second value </div>

和 jquery,使用相同的 class 选择器会产生:

$('.current-pad-o')
// (the first div only - no collection)
<div class="red current-pad-o"> first value </div>

我希望 jquery 语句也有一个集合。这些在 Safari 和 Firefox 中都有输出。

根据jQuery Class Selector documentation,第二个选择器选择给定class的所有元素。

为什么jquery只有return一个,而不是一个集合?

您没有 jQuery,您正在使用 document.querySelector() 的调试器快捷方式。如果你使用$$('.current-pad-o'),你会得到所有的。

确认您没有使用 jQuery,在命令行中键入以下内容:

console.log($)

对于 querySelector,您将看到:

function $(selector, [startNode]) { [Command Line API] }

对于 jQuery,您会看到:

function (a,b){return new n.fn.init(a,b)}

参考:console expressions