简化两个更改函数调用jquery

时间:2015-12-28 18:49:03

标签: javascript jquery

我正努力学习jquery和javascript,并编写了两个不同的change()函数,但我觉得可以更精简和组合。

你们认为最干净的方法是什么?

jQuery(document).ready(function($){
                            jQuery("#custcolmen_size").change(function () {
                              if($('.stock-message > span:contains("Out of stock")').length){ 
                                    $(".add2cart-div > input").addClass('disabled').removeClass('cart');
                                    $(".stock-message > span").addClass('alert alert-danger');
                                }

                                else if($('.stock-message > span:contains("")').length) {
                                    $(".add2cart-div > input").removeClass('disabled').addClass('cart');
                                    $(".stock-message > span").removeClass('alert alert-danger');
                                 }
                            });


                            jQuery("#custcolwomen_width").change(function () {
                              if($('.stock-message > span:contains("Out of stock")').length){ 
                                    $(".add2cart-div > input").addClass('disabled').removeClass('cart');
                                    $(".stock-message > span").addClass('alert alert-danger');
                                }

                                else if($('.stock-message > span:contains("")').length) {
                                    $(".add2cart-div > input").removeClass('disabled').addClass('cart');
                                    $(".stock-message > span").removeClass('alert alert-danger');
                                 }
                            });

                        });

1 个答案:

答案 0 :(得分:0)

由于两个处理程序的逻辑相同,您可以使用逗号将两个选择器连接起来,如下所示:

jQuery(document).ready(function($) {
    jQuery("#custcolmen_size, #custcolwomen_width").change(function () {
        if ($('.stock-message > span:contains("Out of stock")').length){ 
            $(".add2cart-div > input").addClass('disabled').removeClass('cart');
            $(".stock-message > span").addClass('alert alert-danger');
        }
        else if ($('.stock-message > span:contains("")').length) {
            $(".add2cart-div > input").removeClass('disabled').addClass('cart');
            $(".stock-message > span").removeClass('alert alert-danger');
         }
    });
});