1
我具有以下的jquery代碼幫助優化/重構代碼
$('a.editpo, a.resetpass').click(function(event){
event.preventDefault();
var urlToCall = $(this).attr('href');
var hyperlinkid = '#'+$(this).attr('id');
var targetId = $(this).attr('id').match(/\d+/);
var targetTrDiv = '#poformloadertr_'+targetId;
var targetTdDiv = '#poformloadertd_'+targetId;
var currentLink = $(this).html();
/*Todo: refactor or shorten the following statement*/
if((currentLink=='Edit' && $('#resetuserpassform_'+targetId).is(':visible'))
||
(currentLink=='Reset Pass' && $('#account-home-container-'+targetId).is(':visible'))
||
($(targetTdDiv).html() =='')
){
$.ajax({
url:urlToCall,
success: function(html){
$(targetTdDiv).html(html);
$(targetTrDiv).show();
}
});
}else{
$(targetTrDiv).hide();
$(targetTdDiv).html('');
}
});
的editpo和施加resetpass類上的超鏈接表,即Edit
和Reset Pass
的列中,點擊這些負載了形式表中的行,各個tr
和td
的ID是targetTrDiv
和targetTdDiv
。我不擅長JS和特別的jQuery,因此如果您覺得可以在某個步驟優化代碼,請隨時這樣做。但我特別想減少條件聲明。此外,請指出我是否正確寫這篇文章。謝謝!
哦!我怎麼能忘記這一點,謝謝指出,代碼已更改:-) – Kumar
我必須同意條件部分,它不能被進一步優化,條件是如果((鏈接A被點擊並且鏈接B的窗體是可見的)或(鏈接B被點擊並且鏈接A的形式可見)或(第三個條件)),但是謝謝:-) – Kumar