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