我见过两种选择方式input
:
$("input")
和
$(":input")
它们之间有什么区别吗?
第一个$('input')
选择所有input
元素,并且能够传递给document.querySelectorAll()
(如果在主机浏览器中实现),这使得选择速度更快。
然而,后者$(':input')
是一个特定于 jQuery 的选择器(因此不能传递给document.querySelectorAll()
它以提高选择速度),它选择所有input
相似的标签(因为需要更好的短语),input
包括textarea
和select
.
参考:
$("input")
将仅匹配<input>
元素。
$(":input")
另一方面,将匹配所有、<input>
和元素。<textarea>
<select>
<button>
:input
is 选择器:
选择所有输入、文本区域、选择和按钮元素。
input 是一个简单的元素选择器,只会匹配输入元素。
$("input")
是一个非常一般的语法的具体情况。即一般情况下,$("x")
选择所有x
节点(<x></x>
nodes)。因此,在这里,它为您提供了所有<input>
节点。
$(':input')
是一个非常特殊的特殊选择器,设计用于选择<input>
、<select>
、<textarea>
和<button>
节点。:
尽管还有其他这样的特殊选择器,但您不能用任何东西替换 之后的文本。