有没有简单的方法可以选择所有类型的文本框?
即。 <input type=
文字或电子邮件或网址或号码/>
我不介意密码或textarea。
例如。我有这个代码选择具有自定义属性('特殊')的所有文本输入,是否可以缩短?
$("input[type='text'][special],input[type='email'][special],input[type='url'][special],input[type='password'][special]")
答案 0 :(得分:5)
:input selector是否涵盖了您感兴趣的案例?
$(":input[special]")
<强>文档:强>
:input selector
基本上选择所有表单控件。附加说明:
因为:input
是jQuery扩展而不是CSS规范的一部分,所以使用:input
的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。要在使用:input
选择元素时获得最佳性能,请先使用纯CSS选择器选择元素,然后使用.filter(":input")
。
$("[special]").filter(":input");
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用$(":input[special]")
或$("[special]").filter(":input")
;
但我认为这更快:
$("input").filter(function() {
return this.type !== "hidden" && this.getAttribute("special");
});
或没有radio
和checkbox
'es
$("input").filter(function() {
return this.type !== "hidden" && this.type !== "radio" && this.type !== "checkbox" && this.getAttribute("special");
});
查看:input
:input selector
基本上选择所有表单控件。附加说明:
因为:input
是jQuery扩展而不是CSS规范的一部分,所以使用:input
的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。要在使用:input
选择元素时获得最佳性能,请先使用纯CSS选择器选择元素,然后使用.filter(":input")
。