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

时间:2012-04-25 07:45:04

标签: javascript jquery

我有四个名为 .s-list 的div。当用户点击任何这些div .selected 时,将在div上应用。

我想要做的是点击一个按钮,检查所有这些div,如果其中任何一个有一个类 .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中的任何一个已选择“class”,我不希望显示该消息。

请帮助......

4 个答案:

答案 0 :(得分: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'));
    }

});

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以这样检查:

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

答案 3 :(得分:0)

$("#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();
       }
    });