fre*_*ent 36 forms validation jquery input
我正在尝试选择除输入类型="提交/重置/按钮之外的所有输入元素
我试图像这样制作一个选择器:
inputSelector = 'input:not(input[type=button], input[type=submit], input[type=reset]), textarea, select';
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为提交按钮总是进入最终选择.
不知道上面有什么问题.
谢谢!
Mic*_*son 60
尝试将您的选择器修改为链式.not(...)
:
var inputs = $('input, textarea, select')
.not(':input[type=button], :input[type=submit], :input[type=reset]');
$(inputs).each(function() {
console.log(this.type);
});
Run Code Online (Sandbox Code Playgroud)
这使它(可以说)更容易阅读,并且应该按照您的预期工作.
这个答案可能比迈克尔·罗宾逊的答案难以理解,但我发现它更简洁.not()
您可以选择使用它:input
来收集所有表单元素,然后使用:not()
伪类过滤每个不需要的输入类型,而不是运行该函数.
来自jQuery的API文档(https://api.jquery.com/input-selector/):
所述
:input
选择器基本上选择所有表单控件.
类似"CSS"的选择器版本,:not()
psuedo元素选择器是独立的,也可以在CSS 3中使用:
var inputs = $("#theForm").find(":input:not([type=button]):not([type=submit]):not([type=reset])");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35416 次 |
最近记录: |