我有多个在javascript中生成的div,每个div都有一个唯一的id属性,即创建它。
当用户点击Div时,我想设置背景和前景颜色以指示它已被选中(我有那个工作)。当用户点击另一个Div时,我需要将第一个单击更改为正常。
不知道该怎么做。现在,当我点击一个div时它会改变,但是然后点击另一个它们都会显示次要颜色。
当点击另一个div时,我不会跟踪原始div的ID。这是我必须做的吗?
我感谢你的帮助,
答案 0 :(得分:2)
在click事件上,您可以将css类设置为当前单击的div。这个css类将具有你想要的背景颜色。
.selected
{
background-color:green;
}
在对当前单击的项目设置css类之前,获取具有所选类名的div并从中删除该类。
$(function(){
$(document).on("click","div",function(e){
//Get any div(s) with css class "selected" and remove the class
$("div.selected").removeClass("selected");
//Set the css class to the clicked div
$(this).addClass("selected");
});
})
将通用div
替换为您的特定jQuery选择器
前:
$(document).on("click","div.myDiv",function(e){
});
myDiv
是你的div的css类
Here是一个工作样本。