:input
là một phần mở rộng jQuery trong khi input
là một bộ chọn CSS.
textarea
, button
và select
các phần tử sẽ được so khớp với cái trước, nhưng không phải phần sau.
Cái sau nhanh hơn, vì vậy hãy sử dụng nó cho radio
ví dụ cụ thể của bạn . Sử dụng :input
khi bạn muốn "tất cả các phần tử biểu mẫu" ngay cả khi chúng không phải là <input>
thẻ chính xác. Ngay cả trong trường hợp đó, khuyến nghị là sử dụng bộ chọn CSS tiêu chuẩn trước, sau đó sử dụng .filter(':input')
trên bộ đó.
Bởi vì: input là một phần mở rộng của jQuery và không phải là một phần của đặc tả CSS, các truy vấn sử dụng: input không thể tận dụng hiệu suất tăng hiệu suất được cung cấp bởi phương thức DOM querySelectorAll (). Để đạt được hiệu suất tốt nhất khi sử dụng: input để chọn phần tử, trước tiên hãy chọn phần tử bằng bộ chọn CSS thuần túy, sau đó sử dụng .filter (": input").
Trong nguồn 1.7.2,: bộ lọc đầu vào kiểm tra một biểu thức chính quy đối với nodeName:
input: function( elem ) {
return (/input|select|textarea|button/i).test( elem.nodeName );
},
:input
bộ chọn chuyên biệt , trong khi bộ kia làElement
bộ chọn chung .