假设我有 10 个具有唯一 ID 的 div。当我单击每个元素中的一个元素时,我希望显示一个覆盖 div 并根据原始 div 的 ID 在其中填充内容。
这样做更好吗:
$('#inventory > div').find('i.icon-plus').on('click', function(){
$('#add-item').slideDown(100);
if ( $(this).parent('div').attr('id') == '#id1' ) {
// load unique template
// or
// create form content here
}
else if ( $(this).parent('div').attr('id') == '#id2' ) {
// load other unique template
// or
// create other form content here
}
...
else if ( $(this).parent('div').attr('id') == '#id10' ) {
// load other unique template
// or
// create other form content here
}
});
或者:
$('#inventory > div#id1').find('i.icon-plus').on('click', function(){
$('#add-item').slideDown(100);
// load unique template
// or
// create form content here
});
$('#inventory > div#id2').find('i.icon-plus').on('click', function(){
$('#add-item').slideDown(100);
// load unique template
// or
// create form content here
});
...
$('#inventory > div#id10').find('i.icon-plus').on('click', function(){
$('#add-item').slideDown(100);
// load other unique template
// or
// create other form content here
});
?
基本上我要问的是:只有一个带有大量 if/else 语句的事件处理程序更好,还是有大量没有 if/else 语句的事件处理程序更好,或者甚至没有关系?