У меня есть один вопрос об атрибуте 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>
Какое поведение вы ожидаете '$ (» #love "+ New_ID) .attr ('rel', 'UnLove'). attr ('title', 'UnLove')' иметь? В настоящее время он выдает ошибку, поскольку 'attr()' возвращает строку, которая не имеет атрибута 'attr()', который должен быть привязан. –