2016-01-13 51 views
0

这里就是我试图简化:jQuery的可选功能参数

rhp_left.find('.first').removeClass("s7").addClass("s4"); 
rhp_left.find('.second').removeClass("s5").addClass("s3").after(extra); 

正如你可以看到在结束第二个具有.after(extra)。 所以,我有以下js函数:

function MY_FUNCTION(a, b, c, d) 
{ 
    rhp_left.find(a).removeClass(b).addClass(c)d;?? 
} 

jQuery(document).on('click', function() { 
    MY_FUNCTION('.first', "s7", "s4", d)?? 
    MY_FUNCTION('.second', "s5", "s3", d)?? 
}); 

如何添加这个.after(extra)作为一个选项?

回答

2

只需使用条件

function MY_FUNCTION(a, b, c, d) { 
    var elem = rhp_left.find(a).removeClass(b).addClass(c); 

    if (d) elem.after(d); 
} 

jQuery(document).on('click', function() { 
    MY_FUNCTION('.first', "s7", "s4"); 
    MY_FUNCTION('.second', "s5", "s3", extra); 
});