我正在尝试这个聊天。到目前为止一切正常但是当我尝试删除我使用“是”按钮单击的消息时,如果还有更多消息,则会删除所有消息。
此外,我希望点击一个获得背景:#ccc,我尝试使用.css()但它会为每个被点击的消息着色并保持这样。 例如,如果我点击消息1 将其设为背景:#ccc,如果我点击消息2 ,请将其设为背景:#ccc并删除背景:#ccc from 消息1
任何人都可以向我解释如何解决它吗?谢谢。
这是我的代码
$("#chat").on("click", ".mesaj", function(){
console.log("click works on class");
$("#yes").click(function(){
$(".mesaj").remove();
$("#delPop").hide();
});
$("#delPop").show();
$("#no").on("click", function(){
$("#delPop").hide();
});
});
答案 0 :(得分:3)
你可以这样做
$("#chat").on("click", ".mesaj", function(){
var element = $(this);
console.log("Merge click clasa");
$("#yes").click(function(){
$(element).remove();
$("#delPop").hide();
});
$("#delPop").show();
$("#no").on("click", function(){
$("#delPop").hide();
});
});
答案 1 :(得分:1)
检查此更新的fiddle
您基本上需要使用“已选择”类标记所选消息
$(this).addClass("selected").siblings().removeClass("selected");
然后只删除该类
$("#yes").one("click", function(){
$(".mesaj.selected").remove();
$("#delPop").hide();
});
$("#no").one("click", function(){
$("#delPop").hide();
});
Alternative way这样做可能只是记住你点击了哪个消息
var self = $(this);
和
$("#yes").one("click", function(){
$(".mesaj.selected").remove();
$("#delPop").hide();
});
答案 2 :(得分:1)
在.mesaj点击功能中设置var msg = $(this)
,并在#yes点击功能中引用它:
答案 3 :(得分:0)
试试这个
$("#chat").on("click", ".mesaj", function(){
var that = this
console.log("Merge click clasa");
$("#yes").click(function(){
$(that).remove();
$("#delPop").hide();
});
希望有帮助:)