Здравствуйте! Подскажите, почему не работает данная функция? Точнее работает, но только для аргументов вида arg*10 mou.setMenu = function (num) { $.get("/getform.php?menu=1", function(data) { var dat = eval("(" + data + ")"); var count = dat[0]; var tMenu = dat[1]; var nMenu = 1; while (nMenu <= count) { $('#lmenu ul').html($('#lmenu ul').html() + '<li>'+ tMenu[nMenu][1] +'</li>'); if (/\*/.test(tMenu[nMenu][2])) {var arr = tMenu[nMenu][2].match(/(\D+)\*(\d+)/); $('#lmenu ul li:nth-of-type('+nMenu+')').click(function () {mou.display(arr[1], arr[2])}); } else { $('#lmenu ul li:nth-of-type('+nMenu+')').click(function () {alert(123)}); } nMenu++; } $('#lmenu ul li:nth-of-type(1)').css({borderRadius: '5px 5px 0 0', borderTop: 'none'}).click(function () {mou.display('main')}); }); } Итак dat[0] - это количество записей всего. dat[1] - это массив. dat[1][0] - ид записи, dat[1][1] - его имя, dat[1][2] - обработчик. Не работает именно это: else { $('#lmenu ul li:nth-of-type('+nMenu+')').click(function () {alert(123)}); } Уже просто интересно стало))) Провозился с этим около часа) Так и не смог решить эту задачу