Mor*_*ner 79 jquery jquery-selectors
我已经开始使用Wijmo工具包了,并且在他们的文档页面中遇到了很多与此相似的示例选择器:
$(":input[type='radio']").wijradio();
Run Code Online (Sandbox Code Playgroud)
我这样写过我的:
$('input[type=radio]').wijradio();
Run Code Online (Sandbox Code Playgroud)
这些是做同样的还是我缺少的东西?
请注意,上面有两个不同之处:第一个选择器以冒号为前缀,并为输入类型提供引号.
Dav*_*tka 82
:input
是一个jQuery扩展,input
而是一个CSS选择器.
textarea
,button
和select
元素将由前者匹配,而后者不匹配.
后者更快,所以请将它用于您的具体radio
示例.:input
当您想要"所有表单元素"时使用,即使它们不是严格<input>
标记.即使在这种情况下,建议首先使用标准CSS选择器,然后.filter(':input')
在该集合上使用.
因为:input是jQuery扩展而不是CSS规范的一部分,使用:input的查询无法利用本机DOM querySelectorAll()方法提供的性能提升.要在使用时获得最佳性能:输入选择元素,首先使用纯CSS选择器选择元素,然后使用.filter(":input").
在1.7.2源代码中,:input过滤器针对nodeName测试正则表达式:
input: function( elem ) {
return (/input|select|textarea|button/i).test( elem.nodeName );
},
Run Code Online (Sandbox Code Playgroud)
Yar*_* U. 17
该$("input")
选择器将选择类型的输入唯一元素
而$(":input")
选择器将捕获所有的输入元件(诸如文本区域,选择,输入等)
有关更多信息,请访问有关:input
选择器的jQuery官方文档:
http://api.jquery.com/input-selector/
所述:input
选择器选择基本上所有form
的控制(输入,文本区域,选择和按钮元素),其中作为input
选择器选择由标签名的所有元素input
.
由于单选按钮是一个form
元素,它也使用input
标签,因此它们都可用于选择单选按钮.然而,两种方法都不同于它们找到元素的方式,因此每种方法都具有不同的性能益