我有这个html:
<div class="container">
<div id="cell1" class="cell"><div class="content"></div></div>
<div id="cell2" class="cell"><div class="content"></div></div>
<div id="cell3" class="cell"><div class="content"></div></div>
</div>
CSS:
.container {
width: 300px;
height: 300px;
background-color: green;
}
.cell {
background-color: red;
}
#cell1 {
width: 70px;
height: 70px;
}
#cell2 {
width: 70px;
height: 70px;
}
#cell3 {
width: 70px;
height: 70px;
}
.white {
background-color: white;
}
.yellow {
background-color: yellow;
}
.content {
width:40px;
height:40px;
background-color:blue;
}
Javascript:
$(document).on('click', '.cell', function(e) {
$(this).parent().children().removeClass('white');
$(this).parent().children().children().removeClass('yellow');
$(this).addClass('white');
$(this).find('.content').addClass('yellow');
});
我现在遇到的问题是 addClass('yellow') 没有效果。但是,如果我删除内容类中的背景颜色,它会起作用。有什么想法为什么?
jsFiddle 链接:http: //jsfiddle.net/rexwang/FWh6E/
感谢您的回答,它的工作原理!但是我真的不喜欢使用 addClass 和 removeClass,是否可以使用 e.currentTarget.id 来实现相同的目标?