是:文字区分大小写?

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文档模式下)

Jer*_*oen 4

编辑:尽管我进行了研究,但我一开始得出了完全错误的结论。答案已更新: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。令我自己惊讶的是:

更新的答案应该是::文本区分大小写