si fa, con un approccio un po' diverso
codice:
<style type="text/css">
table {width:100%;border-collapse:collapse;}
td {background-color:#ccc}
td.on {background-color:#666}
</style>
<script type="text/javaScript">
function evidenziaTd(ck){
var flag=ck.checked
while(ck=ck.parentNode){
if(ck.tagName=='TD'){
ck.className=(flag)?'on':'';
}
}
}
window.onload=function(){
var t=document.getElementById('tabella');
t.onclick=function(e){
e=e||event;
var src=e.target||e.srcElement;
if(src.tagName=='INPUT' && src.type=='checkbox'){
evidenziaTd(src);
}
else {
if(src.tagName!='LABEL'){
var found=true;
while(src.tagName!='TD'){
if(src==t){found=false; break;}
src=src.parentNode;
}
if(found){
var els=src.getElementsByTagName('input');
for(var k=0,l=els.length;k<l;k++){
if(els[k].type=="checkbox"){
els[k].checked=!els[k].checked;
evidenziaTd(els[k]);
}
}
}
}
}
}
}
</script>
codice:
<form>
<table id="tabella">
<tbody>
<tr>
<td><input id="ch1" type="checkbox"><label for="ch1">check 1</label></td>
<td>testo vario</td>
</tr>
<tr>
<td><input id="ch2" type="checkbox"><label for="ch2">check 2</label></td>
<td><input id="ch3" type="checkbox"><label for="ch3">check 3</label></td>
</tr>
</tbody>
</table>
</form>
per spiegazioni su quanto sopra sono a disposizione,
per ulteriori modifiche no, altrimenti ti tolgo tutto il divertimento 
ciao