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

勇敢的少年
  • 871

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

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

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

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

回复
阅读 144
1 个回答
✓ 已被采纳

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

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


已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。
你知道吗?

宣传栏