好吧,这是一个有点骇人听闻的纯 JS 版本。应该让你开始很好......
HTML:
<table id="table">
<tr>
<td><input type="checkbox"/></td>
<td><input type="checkbox"/></td>
</tr>
<tr>
<td><input type="checkbox"/></td>
<td><input type="checkbox"/></td>
</tr>
<tr>
<td><input type="checkbox"/></td>
<td><input type="checkbox"/></td>
</tr>
</table>
CSS,仅用于视觉辅助:
td {
border: 1px solid #cccccc;
}
td.checked {
background: #ff0000;
}
JS:
var handler = function(event) {
if(event.target.parentNode.className.indexOf('checked') < 0 ) {
event.target.parentNode.className += ' checked';
} else {
event.target.parentNode.className =
event.target.parentNode.className.replace(' checked', '');
}
};
var table = document.getElementById('table');
table.addEventListener('click', handler);
和JSFiddle一起玩。
附言
至于用图像替换它 - 网上有很多解决方案,其中大多数不是跨浏览器 - 请参见此处:如何使用 CSS 设置复选框样式?