2015-11-03 3 views
0

У меня есть один вопрос об атрибуте rel.Jquery check rel wont work

Проблема заключается в том, если другое заявление со следующей строки:

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