2013-01-15 33 views
3

输入和输入在一些教程,我已经看到了这些选择:区别:jQuery的

$(':input'); 

$('input'); 

注 ':'。

有什么区别吗?

+7

':input':_选择所有输入,textarea,选择和按钮元素._'input'选择输入元素。 – undefined

+3

您可以搜索jQuery文档:http://api.jquery.com/?s=input。 –

回答

8

$('input') =只有元素名称,只选择HTML元素。

$(':input') =与结肠,选择/过滤器的所有形式的输入类型的元素,包括输入选择textarea的,和按钮元件。

参考jQuery选择信息:

http://api.jquery.com/category/selectors/

http://api.jquery.com/input-selector/

+2

您可能想要链接到文档,并重复,如文档所言:':input'是一个jQuery扩展,因此它应该用于*过滤*元素,而不是用作选择器(以利用'querySelectorAll()')。 –

3

$('input')选择所有input元件,诸如< 输入类型= “无线电”,< 输入类型=”文本“,< 输入 type =”checkbox“等。它会n不要选择任何其他表单元素(例如<select...<button...元素)。

jQuery input-selector documentation *我们看到

:input选择基本选择所有表单控件。

所以$(':input')会得到< 输入 ...以及< textarea的 ... < 选择 ... < 按钮 ...等

* - 同一页面也注意到

因为:input是一个jQuery extensio n,而不是CSS 规范的一部分,使用:input的查询无法利用本机DOM querySelectorAll() 方法提供的性能提升 。要在使用以下选项时实现最佳性能:输入以选择 元素,请先使用纯CSS选择器选择元素,然后使用.filter(“:input”)选择 。