输入VS:jQuery中输入(Input vs :Input in jQuery)

2019-08-16 23:04发布

我不知道为什么人们似乎更喜欢:inputinput作为jQuery选择? 基本上,这两条线似乎做同样的事情:

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

但是第二个版本是更广泛的使用,我没有找到原因。 此外, :input选择器似乎根据这个基准较慢: http://jsperf.com/input-vs-input/2

Answer 1:

:input是由jQuery的,其包括伪选择器<buttons><textarea>

input是严格匹配的标签匹配<input>

这是关于额外注:input的信息:

这是因为:输入是一个jQuery扩展且不CSS规范的一部分,使用查询:input不能利用由本机DOM提供的性能提升的querySelectorAll()方法。 要使用时,达到最佳的性能:input选择元素,首先选择使用纯CSS选择的元素,然后使用.filter(":input")

--from https://api.jquery.com/input-selector/



Answer 2:

input仅仅是输入元件选择器。 :input还选择textareaselect ,和button (表单控件)。

这并不一定偏好的问题,因为实际上他们做的有些不同的东西。



Answer 3:

:input选择所有输入,文本区域,选择和按钮元素,而input只是选择与输入标签元件。



文章来源: Input vs :Input in jQuery