在此代码中,我将比较单击的锚点是否与表单的id字符串相比具有不同的rel属性字符串。
$('.title a').each(function(i){
$('.title a:eq('+i+')').click(function(e){
e.preventDefault();
$('.title a').removeClass('active');
$(this).addClass('active');
var rel = $(this).attr('rel'),
formId = $('form').attr('id');
if (formId!=rel) {
$('form[id!='+rel+']').fadeOut(200, function(){
$('form[id='+rel+']').fadeIn(200);
});
}
});
});
我第一次点击,效果很好。但是,如果我再次点击它不会工作,我无法找到问题,有人可以帮助我吗?
jsfiddle:http://jsfiddle.net/z4MMw/
答案 0 :(得分:2)
您可以尝试:
$('.title a').click(function(e){
e.preventDefault();
$('.title a').removeClass('active');
$(this).addClass('active');
var rel = $(this).attr('rel');
$('form#' + rel).fadeIn(200, function(){
$('form:not(#' + rel + ')').fadeOut(200);
});
});
我已经倒退了,所以如果有一个具有给定ID的表单,它将会淡化,否则会发生任何事情。