Javascript 如何改进jquery函数
我正在做一个验证,它工作得很好,但我有太多重复代码,无法找到改进它的方法。这是:Javascript 如何改进jquery函数,javascript,jquery,Javascript,Jquery,我正在做一个验证,它工作得很好,但我有太多重复代码,无法找到改进它的方法。这是: function validate( active ){ if( active[0].id === "mod_formSteps-1" ){ var $inputs = $("#formSteps-1 :input:not(:submit)"); var value = true; $inputs.each(function() {
function validate( active ){
if( active[0].id === "mod_formSteps-1" ){
var $inputs = $("#formSteps-1 :input:not(:submit)");
var value = true;
$inputs.each(function() {
if( $(this).val().length < 1 || $(this).hasClass("error")){
value = false;
}
});
return value;
}
else if( active[0].id === "mod_formSteps-2" ){
var $inputs = $("#formSteps-2 :input:not(:submit)");
var value = true;
$inputs.each(function() {
if( $(this).val().length < 1 || $(this).hasClass("error")){
value = false;
}
});
return value;
}
...
...
else{
alert("something is wrong");
}
return true;
}
功能验证(活动){
如果(活动[0]。id==“mod_formSteps-1”){
var$inputs=$(“#formSteps-1:输入:非(:提交)”);
var值=真;
$inputs.each(函数(){
if($(this.val().length<1 | |$(this.hasClass)(“错误”)){
值=假;
}
});
返回值;
}
else if(活动[0]。id==“mod_formSteps-2”){
var$inputs=$(“#formSteps-2:输入:非(:提交)”);
var值=真;
$inputs.each(函数(){
if($(this.val().length<1 | |$(this.hasClass)(“错误”)){
值=假;
}
});
返回值;
}
...
...
否则{
警惕(“有什么不对劲”);
}
返回true;
}
现在我有四个,如果是相同的,只需更改参数“mod#u formStepsN”和
“#formSteps-1”
类似的内容
function validate(active) {
var numb = active.prop('id').split('-').pop(),
inputs = $("#formSteps-"+numb+" :input:not(:submit)"),
value = true;
inputs.each(function () {
if ($(this).val().length < 1 || $(this).hasClass("error")) {
value = false;
}
});
return value;
}
功能验证(活动){
var numb=active.prop('id').split('-').pop(),
输入=$(“#formSteps-”+numb+”:输入:不(:提交)”),
值=真;
输入。每个(函数(){
if($(this.val().length<1 | |$(this.hasClass)(“错误”)){
值=假;
}
});
返回值;
}
为什么不简单地:
function validate( active ){
if(active[0].id != "")
{
var $inputs = $("#"+active[0].id+":input:not(:submit)");
var value = true;
$inputs.each(function() {
if( $(this).val().length < 1 || $(this).hasClass("error")){
value = false;
}
});
return value;
}
else{
alert("something is wrong");
}
return true;
}
功能验证(活动){
如果(活动[0]。id!=“”)
{
var$inputs=$(“#”+活动[0].id+“:输入:不(:提交)”);
var值=真;
$inputs.each(函数(){
if($(this.val().length<1 | |$(this.hasClass)(“错误”)){
值=假;
}
});
返回值;
}
否则{
警惕(“有什么不对劲”);
}
返回true;
}
这个问题似乎离题了,因为它属于为什么不给他们所有人一个公共类,并用它代替ID?