Edit: nonostante la mia ricerca All'inizio ho disegnato la conclusione completamente sbagliata. La risposta è stata aggiornata: O (il kudo va a @ThiagoSantos che ha avuto la risposta corretta dall'inizio: D).
I jQuery ":text" documentation stati:
Perché: il testo è un'estensione jQuery e non fa parte della specifica CSS, query utilizzando: il testo non può sfruttare la spinta di prestazioni fornite dal metodo nativo DOM querySelectorAll().
Se ci si immerge nella source of 1.7.1 sembra questo selettore viene implementato come:
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);
}
Per <input type="tEXt" />
il valore di attr
risulta essere "testo", che non corrisponderà type
. Con mia grande sorpresa quindi:
La risposta dovrebbe essere aggiornato: : il testo è case sensitive
No non è "case sensitive" come potete vedere in questo jsfiddle: http://jsfiddle.net/5RMhK/2/ – sally
'$ (': text') è equivalente a $ ('[tipo = testo] ') '(http://api.jquery.com/text-selector/). Non sembra: http://jsfiddle.net/ZWfb6/ – Eliasdx
@sally Il primo elemento è ** non ** abbinato .. http://jsfiddle.net/6VzNv/ – Smamatti