输入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
查询无法利用本机DOMquerySelectorAll()
方法提供的性能提升。 要在使用时获得最佳性能:input
选择元素,首先使用纯CSS选择器选择元素,然后使用.filter(":input")
。
– 来自https://api.jquery.com/input-selector/
input
只是输入元素选择器。 :input
还选择textarea
, select
和button
(表单控件)。
这不一定是偏好的问题,因为实际上他们做了一些不同的事情。
:input
选择所有input,textarea,select和button元素,而input
只选择带有input标签的元素。