Извиняюсь, проверить сейчас не могу код, пишу на коленке.
function megaFunction(el, list){
$('#'.el).click(function() {
if ( $('#'.el).attr('status') == $('#'.el).attr('pass') ) {
//копируем массив
var newList = list.slice(0);
//удаляем первый элемент
newList.splice(0,1);
if(newList.length != 1)
megaFunction(list[0], newList);
else
//если последний элемент, то выводим сообщение об успехе
alert(newList[0]);
}
});
}
megaFunction('control1', ['control2', 'control10', 'Упражнение выполнено']);
То есть, передаём в наш метод список элементов. Первый элемент — тот, для которого клик вызываем. А далее рекурсивно всё, пока не останется один элемент.
1) Можно и вообще без первого элемента, передавать только массив, где будем кликать по первому элементу.
2) Сейчас проверка только с полем
attr('pass')
, если хотите свой условие, то немного модифицируйте код.
Я лишь саму идею донести хотел.