我有同一个班级的多个div。 当用户点击一个div我有一个slidetoggle(),我有两个按钮"接受"并且"拒绝"。现在,当用户点击接受或拒绝时,我希望该特定div根据接受或拒绝将颜色更改为绿色或红色。
但是当我尝试为所有div改变颜色分配颜色时。
无论如何都要改变特定div的颜色。
$(document).on("pagecreate","#one1",function(){
$("div.comp2").on("tap",function(){
$("#panel").slideToggle("slow", function(){
$("#accept").on("click",function(){
$("div.comp2").css("background-color","#22bb45");
});
});
});
});
答案 0 :(得分:1)
在事件处理程序中,您可以使用this
关键字仅引用引发事件的元素,而不是按类选择所有元素。试试这个:
$(document).on("pagecreate","#one1",function(){
$("div.comp2").on("tap", function() {
var $comp2 = $(this);
$("#panel").slideToggle("slow", function(){
$("#accept").on("click", function(){
$comp2.css("background-color","#22bb45");
});
});
});
});
答案 1 :(得分:1)
$(document).on("pagecreate","#one1",function(){
$("div.comp2").on("tap",function(){
var __this = this;
$("#panel").slideToggle("slow", function(){
$("#accept").on("click",function(){
$(__this).css("background-color","#22bb45");
});
});
});
});