条件IF无法正常工作

时间:2014-01-13 13:53:39

标签: javascript jquery if-statement

在此代码中,我将比较单击的锚点是否与表单的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/

1 个答案:

答案 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的表单,它将会淡化,否则会发生任何事情。