Editar: a pesar de mi investigación Dibujé el conclusión completamente incorrecta al principio. La respuesta ha sido actualizada: O (los kudo van a @ThiagoSantos que tuvieron la respuesta correcta desde el comienzo: D).
Los jQuery ":text" documentation estados:
Porque: el texto es una extensión de jQuery y no forma parte de la especificación CSS, consultas usando: texto no puede aprovechar el aumento de rendimiento proporcionado por el método nativo DOM querySelectorAll().
Si sumergirse en el source of 1.7.1 parece este selector se implementa como:
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);
}
Para <input type="tEXt" />
el valor de attr
resulta ser "texto", que no coincidirá con type
. Para mi propia sorpresa a continuación:
La respuesta actualizado se debe: : texto entre mayúsculas y minúsculas
No, no es 'sensible a mayúsculas y minúsculas' como se puede ver en este jsfiddle: http://jsfiddle.net/5RMhK/2/ – sally
' $ (': text') es equivalente a $ ('[type = text] ') '(http://api.jquery.com/text-selector/). No se ve así: http://jsfiddle.net/ZWfb6/ – Eliasdx
@sally El primer elemento es ** no ** coincide con .. http://jsfiddle.net/6VzNv/ – Smamatti