首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Input vs :Input in jQuery

Input vs :Input in jQuery
EN

Stack Overflow用户
提问于 2013-02-14 05:45:13
回答 3查看 2.8K关注 0票数 14

我想知道为什么人们似乎更喜欢:input而不是input作为jQuery选择器?基本上,这两行似乎做了相同的事情:

代码语言:javascript
复制
$('input:first').focus()
$(':input:first').focus()

但是第二个版本被更广泛的使用,我不知道为什么。此外,根据这个基准测试,:input选择器似乎更慢:http://jsperf.com/input-vs-input/2

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-14 05:46:35

:input是jQuery的伪选择器,包括<buttons><textarea>、e.t.c

input是严格匹配<input>的标记匹配。

以下是关于:input的补充说明,内容丰富:

因为:input是一个jQuery扩展,而不是CSS规范的一部分,所以使用:input的查询不能利用原生DOM querySelectorAll()方法提供的性能提升。要在使用:input选择元素时获得最佳性能,请首先使用纯CSS选择器选择元素,然后使用.filter(":input")

--来自https://api.jquery.com/input-selector/

票数 22
EN

Stack Overflow用户

发布于 2013-02-14 05:46:30

input只是输入元素选择器。:input还会选择textareaselectbutton (表单控件)。

这不一定是偏好的问题,因为实际上它们做的事情有点不同。

票数 4
EN

Stack Overflow用户

发布于 2013-02-14 05:46:33

:input选择所有的输入、文本区域、选择和按钮元素,而input只选择带有输入标记的元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14863751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档