Sửa: mặc dù nghiên cứu của tôi Tôi đã vẽ số kết thúc hoàn toàn sai lúc đầu. Người trả lời đã được cập nhật: O (kudo's go to @ThiagoSantos người đã có câu trả lời đúng từ đầu: D).
Các jQuery ":text" documentation trạng thái:
Bởi vì: văn bản là một phần mở rộng jQuery và không một phần của đặc tả CSS, truy vấn sử dụng: văn bản không thể tận dụng lợi thế của việc tăng hiệu suất cung cấp theo phương pháp tự nhiên DOM querySelectorAll().
Nếu bạn bổ nhào vào source of 1.7.1 có vẻ như chọn này được thực hiện như:
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);
}
Đối <input type="tEXt" />
giá trị của attr
hóa ra là "văn bản", mà sẽ không phù hợp type
. Nhiều bất ngờ của riêng tôi thì:
Câu trả lời được cập nhật nên: : văn bản là trường hợp nhạy cảm
Không, nó không phải là trường hợp nhạy cảm như bạn có thể thấy trong jsfiddle này: http://jsfiddle.net/5RMhK/2/ – sally
'$ (': text') tương đương với $ ('[type = text] ') '(http://api.jquery.com/text-selector/). Không giống như: http://jsfiddle.net/ZWfb6/ – Eliasdx
@sally Phần tử đầu tiên ** không ** phù hợp .. http://jsfiddle.net/6VzNv/ – Smamatti