Tom*_*ard 6 jquery jquery-selectors
jQuery:文本选择器区分大小写吗?
例如:
<input type="TEXT">
Run Code Online (Sandbox Code Playgroud)
不符合但是:
<input type="text">
Run Code Online (Sandbox Code Playgroud)
匹配.
情况似乎如此.我只是在寻找验证.
编辑
看起来甚至[type = text]选择器在Chrome和Firefox中都是区分大小写但不是IE8(在IE8文档模式下)
编辑:尽管我进行了研究,但我一开始得出了完全错误的结论。答案已更新:O(kudo 转到@ThiagoSantos,他从一开始就给出了正确的答案:D)。
jQuery “:text”文档指出:
由于 :text 是 jQuery 扩展而不是 CSS 规范的一部分,因此使用 :text 的查询无法利用本机 DOM querySelectorAll() 方法提供的性能提升。
如果您深入研究1.7.1 的源代码,似乎该选择器的实现方式为:
text: function( elem ) {
var attr = elem.getAttribute( "type" ), type = elem.type;
// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
// use getAttribute instead to test this case
return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
}
Run Code Online (Sandbox Code Playgroud)
因为<input type="tEXt" />的值attr原来是“tEXt”,这与 不匹配type。令我自己惊讶的是:
更新的答案应该是::文本区分大小写