4

在一些教程中,我看到了这些选择器:

$(':input');

或者

$('input');

注意':'。

有什么不同吗?

4

2 回答 2

9

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

$(':input')= 带有冒号,选择/过滤所有表单输入类型元素,包括inputselecttextareabutton元素。

参考jQuery选择器信息:

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

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

于 2013-01-15T19:08:31.217 回答
3

$('input')选择所有input元素,例如 < input type="radio"、< input type="text"、< input type="checkbox" 等。它不会选择任何其他表单元素(例如<select...<button...元素)。

jQuery 输入选择器文档* 我们看到

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

所以$(':input')会得到 < input ... 以及 < textarea ...、< select ...、< button ... 等。

*-同一页还注释

因为 :input 是一个 jQuery 扩展而不是 CSS 规范的一部分,所以使用 :input 的查询不能利用原生 DOM querySelectorAll() 方法提供的性能提升。为了在使用 :input 选择元素时获得最佳性能,首先使用纯 CSS 选择器选择元素,然后使用 .filter(":input")。

于 2013-01-15T19:13:36.807 回答