【发布时间】:2015-01-22 09:32:23
【问题描述】:
我有一个生成随机颜色的函数,我想将该函数与 jQuery 在点击时toggleClass 的功能结合使用。我想在单击时为table 单元格生成唯一的颜色,并在用户再次单击彩色单元格时删除生成的颜色(再次使其变为白色/无色)。
HTML 表格:
<div id="container">
<table id="table">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</div>
颜色生成函数:
function getRandomColor() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
为单元格分配颜色:
$( function(){
$('td').click( function(){
$(this).css('background-color',getRandomColor);
});
});
【问题讨论】:
-
那么问题来了,你的代码工作正常吗?
-
工作一半。它会添加随机颜色,但是一旦我单击已着色的单元格,颜色就不会变为白色。
-
请注意:接受的答案仅适用于部分浏览器。在下面添加了一个更便携的替代方案。