Jquery 使用“this”一键操作两个div
我正在做一个大学的小项目,这是一个社交网络。我试图添加两个选项,喜欢和不喜欢。一切都很好,但问题是,如果一个帖子已经被某个人喜欢,然后他按下“不喜欢”按钮,它会不喜欢这个帖子,但它不会同时不喜欢这个帖子。在内部,它工作良好,这意味着如果有人不喜欢某个帖子,它将自动与该帖子不同。但是我无法通过ajax/jquery显示它。请帮忙 这里我只是展示jQuery部分,实际上它是与ajax一起工作的Jquery 使用“this”一键操作两个div,jquery,Jquery,我正在做一个大学的小项目,这是一个社交网络。我试图添加两个选项,喜欢和不喜欢。一切都很好,但问题是,如果一个帖子已经被某个人喜欢,然后他按下“不喜欢”按钮,它会不喜欢这个帖子,但它不会同时不喜欢这个帖子。在内部,它工作良好,这意味着如果有人不喜欢某个帖子,它将自动与该帖子不同。但是我无法通过ajax/jquery显示它。请帮忙 这里我只是展示jQuery部分,实际上它是与ajax一起工作的 $(".like").click(function(e){ e.preventDefault();
$(".like").click(function(e){
e.preventDefault();
if($(this).hasClass('liked'))
{
$(this).removeClass('liked');
}
else
{
$(this).addClass('liked');
}
});
$(".dislike").click(function(e){
e.preventDefault();
if($(this).hasClass('disliked'))
{
$(this).removeClass('disliked');
}
else
{
$(this).addClass('disliked');
}
});
您需要选择另一个控件,然后删除该类。您的HTML非常简单,因此可以使用查找正确的元素
$(".like").click(function (e) {
e.preventDefault();
if ($(this).hasClass('liked')) {
$(this).removeClass('liked');
} else {
$(this).addClass('liked');
$(this).siblings(".dislike").removeClass('disliked');
}
});
$(".dislike").click(function (e) {
e.preventDefault();
if ($(this).hasClass('disliked')) {
$(this).removeClass('disliked');
} else {
$(this).addClass('disliked');
$(this).siblings(".like").removeClass('liked');
}
});
如果我猜对了:
if you click dislike
if it is already disliked
unset disliked
else
'un-like'
set disliked
if you click like
if it is already liked
unset liked
else
'un-dislike'
set liked
如果是这样,那你为什么不“不喜欢”和“不喜欢”它呢
$('.like').bind('click', function(event){
event.preventDefault();
$(this).toggleClass('liked').siblings('.dislike').removeClass('disliked')
});
$('.dislike').bind('click', function(event){
event.preventDefault();
$(this).toggleClass('disliked').siblings('.like').removeClass('liked')
});
非常简单通过php我做到了这一点。但正如演示中所示,我无法使用jQuery立即显示它:/嗯,在javascript代码中,您没有“不喜欢”或“不喜欢”的代码。所以是的,那没什么用:-谢谢..:答案奏效了。。bt musefan在你面前发布了答案,所以我不得不接受他的答案。Thanx a lillion^.^@user3515181:请随意接受最适合您的答案。虽然接受第一个贴出的答案是常见的,但这通常只适用于答案几乎相同的情况。我认为这个答案的差异足以让你选择你的偏好,只是在这里提供帮助:-不在乎要点。。。除非200k为我赢得了一辆保时捷,否则你可以通过使用toggleClass函数来简化它。@SteveWellens:是的,我从另一个答案中注意到了这一点。但是,我将保留这一部分,因为我认为它通过保留原始代码使其更易于理解所发生的事情,因为实际上切换类在这里不起作用,因为我正在检查它是否喜欢类,然后不像ajax函数运行,或者像ajax函数运行。@user3515181:这是一个很好的观点,如果您必须执行检查,那么使用切换没有多大意义