javascript - Jquery .first 行为

标签 javascript jquery

所以我有一个简单的 html 页面:

<h1>Start</h1>
<canvas class="myCanvas" width="400" height="400"></canvas>
<canvas class="myCanvas" width="400" height="400"></canvas>

我在 jquery 中这样做,

> $(".myCanvas")
| [<canvas class=​"myCanvas" width=​"400" height=​"400">​, 
|  <canvas class=​"myCanvas" width=​"400" height=​"400">​]

然后,

> $(".myCanvas").first()
| [<canvas class=​"myCanvas" width=​"400" height=​"400">​]

我认为我应该在调用 first() 方法时获取单个元素,例如

> $(".myCanvas").get(0)
| <canvas class=​"myCanvas" width=​"400" height=​"400">​

那么为什么第一个方法返回一个数组..?

最佳答案

.first()方法将结果集过滤到第一个元素并返回一个jQuery对象,而.get(0)简单地返回第一个 DOM 元素。

jQuery 对象显示为数组的原因是因为 jQuery 对象作为 DOM 元素的增强数组,在其原型(prototype)上具有附加方法。因此,.get(0) 实际上与 [0] 相同。

关于javascript - Jquery .first 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639238/

相关文章:

javascript - 如何将我的前端与后端绑定(bind)(形成接触)

javascript - 基于数组的索引将项目添加到对象的数组中

javascript - react 子嵌套路由

javascript - 如何在 PHP 中创建 AJAX 响应到 session 中?

Javascript 获取大括号内的子字符串值

JavaScript - 使用后退按钮关闭弹出窗口

javascript - jQuery 滚动函数在每个滚动之前添加 bool 值

javascript - 抑制 <img> html 标签上的 404 图像未找到错误

javascript - JS 对象字面量范围和引用

javascript - 我如何知道特定的 event.keyCode 对应于字符而不是命令键(例如箭头、Tab 或 Enter)