在一些教程中,我看到了这些选择器:
$(':input');
或者
$('input');
注意':'。
有什么不同吗?
$('input')
= 只有元素名称,只选择 HTML 元素。
$(':input')
= 带有冒号,选择/过滤所有表单输入类型元素,包括input、select、textarea和button元素。
参考jQuery选择器信息:
$('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")。