繁体   English   中英

选择一个具有jquery hasClass类的元素

[英]selecting a element which has a class with jquery hasClass

我有四个div,其类名为.s-list 当用户单击任何这些div时, selected类将应用于div。

我想做的是单击一个按钮时,检查所有那些div,如果其中任何一个都具有class.selected提交表单,否则,如果所有div都没有class.selected则显示错误消息。

问题:它第一次起作用,但是如果我单击按钮,它再次显示错误消息,并且在div已经选择了类时提交表单。

$("#pp-btn").click(function() {

    $(".s-list").each(function (i) {
         if(!$(this).hasClass('selected')) 
         { 
            $("#p-msg").show(); 
         } 
         else { 

            $("#plans-form").attr('action', $(this).attr('links'));

            $("#p-msg").hide();
         }
        });  
    });

我不希望在div的任何1个类别为“已选择”的情况下显示该消息。

请帮助...

使用jQuery选择器来检查s-list元素是否具有selected类;

$('#pp-btn').click(function (e) {

    if ($('.s-list.selected').length == 0) {
        /* No `selected` class on any `s-list` */
        $('#p-msg').show();
    } else {
        /* At least one `s-list` has the additional `selected` class */
        $('#plans-form').attr('action', $('.s-list.selected').attr('links'));
    }

});
$("#pp-btn").on('click',function() {
    if($(".s-list.selected").length){ 
       //there are selected items
    } else { 
       //there is none
    } 
});

您可以这样检查:

if ($(".s-list.selected").length == 0) { $("#p-msg").show();  }
else {
    $('#plats-form').attr('action', $('.s-list.selected').attr('links'));
    $("#p-msg").hide();
}
$("#pp-btn").click(function() {

       var submit = false;

       $(".s-list").each(function (i) {
           if($(this).hasClass('selected')) { 
            submit = true;
           }
        }); 

       if(submit) {
           $("#p-msg").show(); 
       } else {
           $("#plans-form").attr('action', $(this).attr('links'));
           $("#p-msg").hide();
       }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM