jQuery对象为啥不能用$('.selector').0而非要用$('.selector').get(0)?

我知道jQuery对象是类数组对象,一般对象都可以用:
obj.key或者obj[key]
为啥jQuery对象只能用:
$obj.get(key)或者$obj[key] (另外,以非数字为键的才可以用$obj.key)

是不是jQuery源码里面这样定义的,有何意义?

阅读 5.9k
6 个回答

编程语言中 以数字开头的标示符不合法吧 后面直接跟数字不感觉很奇怪吗 语义性也不如get啊

数字key不能用 . 操作符,请用 []的方式操作,所以,你可以get(0)也可以[0]

首先,纠正一下你的错误,.get(): 这是通过jQuery对象获取一个对应的DOM元素。获取到的不是jquery对象,而是DOM对象。

其次,这样做不符合面向对象语言的设计,$("")这其实就是jquery(""),他获取到的就是个对象,而对象是可以有属性和方法的。$("")这就是个对象,而$("").1,1能作为属性吗?

答案你自己都说了,这不是jq的问题,是js语法的问题

纯数字不是一个合法的标识符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题