:input:选择所有的input、textarea、select、button标签。因为:input不是CSS规范的一部分而是JQuery扩展,所以使用:input查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:input选择元素时想要获得最佳性能,则需要首先用纯CSS选择器选择元素,然后使用.filter(":input")。
:text:选择所有type为text的input元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":text")等价于$("*:text")。从JQuery1.5.2起,:text会选择没有指定type属性的input元素(因为type默认为text)。因为:text不是CSS规范的一部分而是JQuery扩展,所以使用:text查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:text选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='text']。
:password:选择所有type为password的input元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":password")等价于$("*:password")。因为:password不是CSS规范的一部分而是JQuery扩展,所以使用:password查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:password选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='password']。
:radio:选择所有type为radio的input元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":radio")等价于$("*:radio")。因为:radio不是CSS规范的一部分而是JQuery扩展,所以使用:radio查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:radio选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='radio']。此外如果想要选择一组相关的radio元素可以使用$("input[name='xxx']:radio"),即可获得name为xxx的所有radio。
:checkbox:选择所有type为checkbox的input元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":checkbox")等价于$("*:checkbox")。因为:checkbox不是CSS规范的一部分而是JQuery扩展,所以使用:checkbox查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:checkbox选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='checkbox']。
:submit:选择所有type为submit的input、button元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":submit")等价于$("*:submit")。因为:submit不是CSS规范的一部分而是JQuery扩展,所以使用:submit查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:submit选择元素时想要获得最佳性能,建议使用属性选择器代替,即input[type='submit']、button[type='submit']。有些浏览器会隐式的将button元素看作是type="submit"。
:reset:选择所有type为reset的input元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":reset")等价于$("*:reset")。因为:reset不是CSS规范的一部分而是JQuery扩展,所以使用:reset查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:reset选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='reset']。
:button:选择所有的button元素和type为button的input元素,等价于button input[type='button']。因为:button不是CSS规范的一部分而是JQuery扩展,所以使用:button查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:button选择元素时想要获得最佳性能,则需要首先用纯CSS选择器选择元素,然后使用.filter(":button")。
:image:选择所有type为image的input元素,[type='image']。因为:image不是CSS规范的一部分而是JQuery扩展,所以使用:image查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:image选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='image']。
:file:选择所有type为file的input元素,与其他伪类选择器一样,建议在其前面加上标记名称或其他选择器。否则将隐式的使用$("*"),也就是说$(":file")等价于$("*:file")。因为:file不是CSS规范的一部分而是JQuery扩展,所以使用:file查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:file选择元素时想要获得最佳性能,建议使用属性选择器代替,即[type='file']。