jQuery:文本选择器区分大小写吗?
例如:
<input type="TEXT">
不符合但是:
<input type="text">
匹配.
情况似乎如此.我只是在寻找验证.
编辑
看起来甚至[type = text]选择器在Chrome和Firefox中都是区分大小写但不是IE8(在IE8文档模式下)
解决方法
编辑:尽管我的研究,我首先得出了完全错误的结论.答案已经更新:O(kudo转到@ThiagoSantos,从一开始就有正确答案:D).
jQuery “:text” documentation声明:
Because :text is a jQuery extension and not part of the CSS specification,queries using :text cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method.
如果你深入了解source of 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 ); }
对于< input type =“tEXt”/> attr的值原来是“tEXt”,与类型不匹配.令我惊讶的是:
更新的答案应为::文本区分大小写