输入vs:jQuery中的输入

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

 $('input:first').focus() $(':input:first').focus() 

但第二版更广泛使用,我找不到原因。 此外,根据此基准测试, :input选择器似乎较慢: http : //jsperf.com/input-vs-input/2

:input是jQuery的伪选择器,包括

input是一个严格匹配的标签匹配。

关于以下内容的附加说明:input信息丰富:

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

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

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

这不一定是偏好的问题,因为实际上他们做了一些不同的事情。

:input选择所有input,textarea,select和button元素,而input只选择带有input标签的元素。