我想知道为什么人们似乎更喜欢:input
作为input
jQuery 选择器?基本上,这两行似乎做同样的事情:
$('input:first').focus()
$(':input:first').focus()
但是第二个版本使用更广泛,我不知道为什么。此外,:input
根据这个基准,选择器似乎更慢:http: //jsperf.com/input-vs-input/2
我想知道为什么人们似乎更喜欢:input
作为input
jQuery 选择器?基本上,这两行似乎做同样的事情:
$('input:first').focus()
$(':input:first').focus()
但是第二个版本使用更广泛,我不知道为什么。此外,:input
根据这个基准,选择器似乎更慢:http: //jsperf.com/input-vs-input/2
:input
是 jQuery 的伪选择器,包括<buttons>
,<textarea>
等
input
是一个严格匹配的标签匹配<input>
。
关于此附加说明提供了:input
丰富的信息:
因为 :input 是一个 jQuery 扩展而不是 CSS 规范的一部分,所以使用查询
:input
不能利用原生 DOMquerySelectorAll()
方法提供的性能提升。要在使用:input
to 选择元素时获得最佳性能,首先使用纯 CSS 选择器选择元素,然后使用.filter(":input")
.
input
只是输入元素选择器。 :input
还选择textarea
、select
和button
(表单控件)。
这不一定是偏好问题,因为实际上它们做的事情有些不同。
:input
选择所有输入、文本区域、选择和按钮元素,而input
只选择带有输入标签的元素。