Javascript 如果我使用jQuery';s.hide()和.show()方法?

Javascript 如果我使用jQuery';s.hide()和.show()方法?,javascript,jquery,Javascript,Jquery,这是我的jQuery代码片段 $("#firstBankDetail").hide(); $("#secondBankDetail").hide(); $("#thirdBankDetail").hide(); $("#fourthBankDetail").hide(); $("#noOfBankDetails").change(function(){ var value = $(this).val(); if(value == 0) { $("#firstBankD

这是我的jQuery代码片段

$("#firstBankDetail").hide();
$("#secondBankDetail").hide();
$("#thirdBankDetail").hide();
$("#fourthBankDetail").hide();
$("#noOfBankDetails").change(function(){
   var value = $(this).val();

   if(value == 0) {
       $("#firstBankDetail").hide();
       $("#secondBankDetail").hide();
       $("#thirdBankDetail").hide();
       $("#fourthBankDetail").hide();
   }
   else if(value == 1) {
       $("#firstBankDetail").show();
       $("#secondBankDetail").hide();
       $("#thirdBankDetail").hide();
       $("#fourthBankDetail").hide();  
   }
   else if(value == 2) {
       $("#firstBankDetail").show();
       $("#secondBankDetail").show();
       $("#thirdBankDetail").hide();
       $("#fourthBankDetail").hide(); 
   }
   else if(value == 3){
       $("#firstBankDetail").show();
       $("#secondBankDetail").show();
       $("#thirdBankDetail").show();
       $("#fourthBankDetail").hide();  
   }
   else if(value == 4){
       $("#firstBankDetail").show();
       $("#secondBankDetail").show();
       $("#thirdBankDetail").show();
       $("#fourthBankDetail").show();
   }

});
因此,当body被加载时,所有div都被隐藏
#noOfBankDetails
是一个下拉列表
元素。根据其值隐藏或显示div。我已经完成了所有div的javascript验证

现在我面临的一个问题是,那些被隐藏的div的验证失败。 假设只有
#firstBankDetail
可见,即使如此,
#secondBankDetail
#thirdBankDetail
#fourthBankDetail
的子元素的验证也将失败

我想实现的伪代码是

IF `#firstBankDetail` Visible
Apply validations of `#firstBankDetail` only
IF `#firstBankDetail` and `#secondBankDetail` visible
Apply validations of `#firstBankDetail` and `#secondBankDetail` only
如何使用javascript实现它?

使用jQuery的:

如果您的验证方法只是
validate()
,您将使用:

$('#firstBankDetail:visible').validate();
要同时对所有可见元素应用验证,您需要查看
#firstBankDetail
#secondBankDetail
,等等的父元素。例如,如果您的HTML如下所示:


要对父级中的所有可见元素调用
validate()
方法,只需使用以下方法:

$('#parent').children(':visible').validate();
使用jQuery的:

如果您的验证方法只是
validate()
,您将使用:

$('#firstBankDetail:visible').validate();
要同时对所有可见元素应用验证,您需要查看
#firstBankDetail
#secondBankDetail
,等等的父元素。例如,如果您的HTML如下所示:


要对父级中的所有可见元素调用
validate()
方法,只需使用以下方法:

$('#parent').children(':visible').validate();
试试看

$("#firstBankDetail,#secondBankDetail,#thirdBankDetail,#fourthBankDetail").hide();
$("#noOfBankDetails").change(function(){
    var value = $(this).val();
    if(value == 0) {
       $("#firstBankDetail,#secondBankDetail,#thirdBankDetail,#fourthBankDetail").hide();
    }
    else if(value == 1) {
       $("#firstBankDetail").show();
       $("#secondBankDetail,#thirdBankDetail,#fourthBankDetail").hide();
    }
    else if(value == 2) {
       $("#firstBankDetail,#secondBankDetail").show();
       $("#thirdBankDetail,#fourthBankDetail").hide(); 
    }
    else if(value == 3){
       $("#firstBankDetail,#secondBankDetail,#thirdBankDetail").show();
       $("#fourthBankDetail").hide();  
    }
    else if(value == 4){
       $("#firstBankDetail,#secondBankDetail,#thirdBankDetail,#fourthBankDetail").show();
    }
});
将类bankDetail应用于字段#第一个bankDetail、#第二个bankDetail、#第三个bankDetail、#第四个bankDetail

//add this code in your script
$(".bankDetail:visible").validate();
试试看

$("#firstBankDetail,#secondBankDetail,#thirdBankDetail,#fourthBankDetail").hide();
$("#noOfBankDetails").change(function(){
    var value = $(this).val();
    if(value == 0) {
       $("#firstBankDetail,#secondBankDetail,#thirdBankDetail,#fourthBankDetail").hide();
    }
    else if(value == 1) {
       $("#firstBankDetail").show();
       $("#secondBankDetail,#thirdBankDetail,#fourthBankDetail").hide();
    }
    else if(value == 2) {
       $("#firstBankDetail,#secondBankDetail").show();
       $("#thirdBankDetail,#fourthBankDetail").hide(); 
    }
    else if(value == 3){
       $("#firstBankDetail,#secondBankDetail,#thirdBankDetail").show();
       $("#fourthBankDetail").hide();  
    }
    else if(value == 4){
       $("#firstBankDetail,#secondBankDetail,#thirdBankDetail,#fourthBankDetail").show();
    }
});
将类bankDetail应用于字段#第一个bankDetail、#第二个bankDetail、#第三个bankDetail、#第四个bankDetail

//add this code in your script
$(".bankDetail:visible").validate();

您可以使用jQuery的
is(':visible')
您可以使用jQuery的
is(':visible')
谢谢您的回答。但是,如果我只想使用javascript怎么办?没有jQuery。@AbhishekSingh您发布的代码中充满了jQuery,并且您在问题中标记了jQuery。您确定不想使用jQuery吗?jQuery毕竟是JavaScript。@如果您已经在使用jQuery,那么就没有太多理由不使用它来做类似的事情。@AbhishekSingh在StackOverflow上,您可以通过将鼠标悬停在注释上方并单击左侧的标记图标来标记注释。当版主删除乔的评论时,它看起来就像是针对我的评论,所以我想我会指出它!谢谢你的回答。但是,如果我只想使用javascript怎么办?没有jQuery。@AbhishekSingh您发布的代码中充满了jQuery,并且您在问题中标记了jQuery。您确定不想使用jQuery吗?jQuery毕竟是JavaScript。@如果您已经在使用jQuery,那么就没有太多理由不使用它来做类似的事情。@AbhishekSingh在StackOverflow上,您可以通过将鼠标悬停在注释上方并单击左侧的标记图标来标记注释。当版主删除乔的评论时,它看起来就像是针对我的评论,所以我想我会指出它!