什么';jQuery选择器中前导冒号的用途是什么?
我已经开始使用Wijmo工具包,并在其文档页面中遇到了许多类似的示例选择器:什么';jQuery选择器中前导冒号的用途是什么?,jquery,jquery-selectors,Jquery,Jquery Selectors,我已经开始使用Wijmo工具包,并在其文档页面中遇到了许多类似的示例选择器: $(":input[type='radio']").wijradio(); 我会这样写我的: $('input[type=radio]').wijradio(); 这些都是一样的,还是我遗漏了什么 请注意,上面有两个区别:第一个选择器的前缀是冒号,输入类型有引号。输入选择器:输入选择器基本上选择所有的表单控件(输入、文本区域、选择和按钮元素)其中asinput选择器按标记名input选择所有元素 因为单选按钮是一个
$(":input[type='radio']").wijradio();
我会这样写我的:
$('input[type=radio]').wijradio();
这些都是一样的,还是我遗漏了什么
请注意,上面有两个区别:第一个选择器的前缀是冒号,输入类型有引号。输入选择器:输入选择器基本上选择所有的
表单
控件(输入、文本区域、选择和按钮元素)其中asinput
选择器按标记名input
选择所有元素
因为单选按钮是一个表单
元素,而且它还使用输入
标记,所以它们都可以用来选择单选按钮。但是,这两种方法查找元素的方式不同,因此每种方法都有不同的性能优势 :input
是一个CSS选择器,而input
是一个CSS选择器
text区域
、按钮
和选择
元素将与前者匹配,但与后者不匹配
后者速度更快,因此请将其用于特定的收音机
示例。使用:在需要“所有表单元素”时输入,即使它们不是严格意义上的
标记。即使在这种情况下,建议首先使用标准CSS选择器,然后在该集合上使用.filter(':input')
因为:输入是jQuery扩展,而不是CSS的一部分
规范,使用:input的查询不能利用
本机DOM querySelectorAll()提供的性能提升
方法。使用时达到最佳性能:输入选择
元素,首先使用纯CSS选择器选择元素,然后
使用.filter(“:input”)
在1.7.2源代码中,输入过滤器针对节点名测试正则表达式:
input: function( elem ) {
return (/input|select|textarea|button/i).test( elem.nodeName );
},
$(“输入”)
选择器将仅选择输入类型的元素
而$(“:input”)
选择器将捕获所有输入元素(如textarea、select、input等)
有关更多信息,请访问jQuery官方文档中关于:input
选择器的网址:
一个是专用选择器,另一个是通用选择器。这很有意义,谢谢!而且类型引号是完全可选的?老实说,我从来没有将[type=]
与:input
一起使用过,因为如果我在寻找一个特定的类型,那么首先使用:input
获取所有类型似乎是一条漫长的路。对于纯CSS选择器,我的理解是引号是标准的,但浏览器是宽容的。您可以使用/不使用此处快速测试它,因此$(“:checked”)会给出复选框。。这也是jquery的扩展吗?@David Ruttka:“浏览器宽容”只适用于HTML,也适用于“怪癖”模式下的CSS。该语句不适用于标准模式下的CSS。引号在某些情况下可以合法地省略。我们可以举一个的例子,首先使用纯CSS选择器选择元素,然后使用.filter(“:input”)。
?