为什么jquery的id选择器会返回一个数组?

比如我页面有一个idorderSnspan
并且是唯一的
当我取:
$('span#orderSn')
返回的是:

n.fn.init [span#orderSn, prevObject: n.fn.init(1), context: document, selector: "span#orderSn"]

所以每次都要$('span#orderSn')[0]才能取到元素

为什么不是直接返回元素 而是一个数组?

阅读 2.6k
1 个回答

jQuery 的选择器返回的都是一个 jQuery 对象,是一个 Array Like 对象。
如果使用 jQuery 的各种方法,不需要去取元素,直接在上面执行操作就行。

如果要取元素,官方说的使用 $(...).get(0)(也可以改变参数取其他位置的)。
如果本来是多个元素,需要用 toArray() 转换成真正的元素数组。


已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题