Я бы предложил создать замыкание, которое будет генерировать вашу «функцию щелчка по вкладке». Таким образом, параметр this
при вызове события все равно будет объектом DOM.
// this function creates an event function for a specified tab number.
function makeTabClick(tabNumber) {
// this function is the actual event handler
return function(e) {
loadTab(tabNumber);
$('div.HOMEtabdiv ul.HOMEtabs a').removeClass('selected');
$(this).addClass('selected');
};
}
$('#tab1').click(makeTabClick(1));
$('#tab2').click(makeTabClick(2));
$('#tab3').click(makeTabClick(3));
Другая альтернатива, немного более "jQuery" - создайте функцию плагина, которая будет генерировать нужный обработчик кликов.
$.fn.makeTab = function(tabNumber) {
return this.click(function(e) {
loadTab(tabNumber);
$('div.HOMEtabdiv ul.HOMEtabs a').removeClass('selected');
$(this).addClass('selected');
});
}
$('#tab1').makeTab(1);
$('#tab2').makeTab(2);
$('#tab3').makeTab(3);