我想知道为什么人们似乎更喜欢:input而不是input作为jQuery选择器?基本上,这两行似乎做了相同的事情:
$('input:first').focus()
$(':input:first').focus()但是第二个版本被更广泛的使用,我不知道为什么。此外,根据这个基准测试,:input选择器似乎更慢:http://jsperf.com/input-vs-input/2
发布于 2013-02-14 05:46:35
:input是jQuery的伪选择器,包括<buttons>、<textarea>、e.t.c
input是严格匹配<input>的标记匹配。
以下是关于:input的补充说明,内容丰富:
因为:input是一个jQuery扩展,而不是CSS规范的一部分,所以使用
:input的查询不能利用原生DOMquerySelectorAll()方法提供的性能提升。要在使用:input选择元素时获得最佳性能,请首先使用纯CSS选择器选择元素,然后使用.filter(":input")。
发布于 2013-02-14 05:46:30
input只是输入元素选择器。:input还会选择textarea、select和button (表单控件)。
这不一定是偏好的问题,因为实际上它们做的事情有点不同。
发布于 2013-02-14 05:46:33
:input选择所有的输入、文本区域、选择和按钮元素,而input只选择带有输入标记的元素。
https://stackoverflow.com/questions/14863751
复制相似问题