2015-10-08 2 views
0

У меня есть следующий:функция для контура для удаления класса

HB.formButtons.deactivatingButton = function(element) { 
    element.parent().removeClass(HB.formButtons.SUBMIT_BUTTON_STYLE); 
} 

и чем я его называю, как следовать каждый раз мне это нужно:

HB.formButtons.deactivatingButton($(HB.personalDetails.SUBMIT_CHANGE_PASSWORD_SELECTOR)); 
HB.formButtons.deactivatingButton($(HB.personalDetails.CANCEL_CHANGE_PASSWORD_SELECTOR)); 

Есть ли способ вызова его один раз (передавая как можно больше параметров) и, возможно, ввести петлю в HB.formButtons.deactivatingButton?

+1

вы можете добавить классы, которые вы хотите отключить в массиве, а затем передать массив внутри функции для итерации – cssGEEK

+1

Почему вам нужен цикл, если селектор является селектором классов или селектором tagName, тогда он вернет коллекцию, если вы примените что-либо к этому селектору, который будет применяться к каждому из них. – Jai

ответ

2

Это абсолютно возможно следующим образом:

HB.formButtons.deactivatingButton = function(elementsArray) { 

    if($.isArray(elementsArray)) 
    { 
     $.each(elementsArray, function(index, element){ 
      element.parent().removeClass(HB.formButtons.SUBMIT_BUTTON_STYLE); 
     }); 
    } 
} 

И называют эту функцию только один раз следующим образом:

var elementsArray = [$(HB.personalDetails.SUBMIT_CHANGE_PASSWORD_SELECTOR), 
$(HB.personalDetails.CANCEL_CHANGE_PASSWORD_SELECTOR)]; 

    //call the function 
    HB.formButtons.deactivatingButton(elementsArray); 
Смежные вопросы