2015-11-03 90 views
0

我有一个关于rel属性的问题。jquery check rel不会工作

的问题是,如果else语句从以下线路:

if(REL == 'Like') { 
    // Do something 

    if($("#love" + New_ID).attr('rel','UnLove').attr('title', 'UnLove')){ 
     // Do Something 
    } 

} 

当我点击.yes_button则检查REL ==“是的”,也是我要检查$("#love" + New_ID).attr('rel','UnLove').attr('title', 'UnLove'),但它无法正常工作。

任何人都可以告诉我我需要在这里做什么?

这是全码:

var count= 0; 
    $('body').on("click",'.like_button', function() { 
    //$(this).closest('.new_like_items').children().hide(); 
    var dataid = $(this).attr('data-id'); 
    var id = $(this).closest('.new_like').attr('id'); 

    var class_name = $(this).find(".icon-newL").attr("class"); 
    class_name = class_name.replace(/icon\-newL\s+/gi, ""); 
    $(this).closest(".new_like").find(".icon-lpn").removeClass().addClass("icon-lpn " + class_name); 
    var count = 0; 
    var KEY = parseInt($(this).attr("data")); 
    var ID = $(this).attr("id"); 
    if (KEY == '1') { 
     var sid = ID.split(/likes|loves/); 
    } else { 
     var sid = ID.split(/like|love/); 
    } 
    var New_ID = sid[1]; 
    var REL = $(this).attr("rel"); 

    var URL = $.base_url + 'like_post.php'; 
    var dataString = 'msg_id=' + New_ID + '&rel=' + REL; 
    $.ajax({ 
     type: "POST", 
     url: URL, 
     data: dataString, 
     cache: false, 
     success: function(html) { 
     if (html) { 
      // Like Started 
      if (REL == 'Like') { 
      //count++; 
      //$("#likess" + New_ID).show('slow'); 
      if($('#likess' + New_ID).css('display') == 'none'){ $("#likess" + New_ID).show('slow'); } 
       $("#elikes" + New_ID).show('slow').prepend("<span id='you" + New_ID + "' class='numcount bbc'><div class='icon-newL icon-like-new lpos' id='clk" + New_ID + "'></div><div class='lcl' id='lcl" + New_ID + "'>"+ count +"</div></span>"); 
       $('#lcl'+ New_ID).html(function(i, val) { return val*1+1 }); 
       $('#' + ID).html('<div class="icon-newL icon-like-new"></div>').attr('rel', 'UnLike').attr('title', 'UnLike'); 
      if($("#love" + New_ID).attr('rel','UnLove').attr('title', 'UnLove')) { 
       //count--; 
       $('#love' + New_ID).html('<div class="icon-newL icon-love-new"></div>').attr('rel', 'Love').attr('title', 'Love'); 
       $('#lco'+ New_ID).text(function(i, val) { return val*1-1 }); 
       //$("#love_count" + New_ID).hide('slow').prepend("<span id='love_count" + New_ID + "' class='numcount bbc'><div class='icon-newL icon-love-new lpos'></div><div class='lco' id='lco" + New_ID + "'>"+ count +"</div></span>"); 

      } 
       $('#like_count' + New_ID).show('slow'); 
      } else if(REL == 'UnLike'){ 
       // Do Something 
      } 
      // Like Finished 
     } 

     } 
    }); 

    return false; 
    }); 

HTML

<div class="op-lw like_button" data-id="0" id='like<?php echo $post_id;?>' rel='<?php echo $postL_status;?>' title='<?php echo $postL_status;?>'><div class="icon-newL icon-like-new"></div></div> 
<div class="op-lw like_button" data-id="1" id='love<?php echo $post_id;?>' rel='<?php echo $Lpost_status;?>' title='<?php echo $Lpost_status;?>'><div class="icon-newL icon-love-new"></div></div> 
+0

什么行为,你期待'$(” #love“+ New_ID).attr('rel','UnLove')。attr('title','UnLove')'有?它现在会抛出一个错误,因为'attr()'返回一个没有'attr()'属性的字符串。 –

回答

1

你确定你不是说是这样的:

if($("#love" + New_ID).attr('rel') == 'UnLove' && $("#love" + New_ID).attr('title') == 'UnLove'){ 
    //.... 
} 
+0

感谢您的快速回复。这是我需要做的,我明白我现在失去了什么。再次感谢你。 – innovation