Он делает то, что вы говорите, прямо здесь:
if(document.getElementById('chk').checked)
{
document.getElementById(row).style.background='Red';
}
else
{
document.getElementById(row).onMouseOver = function() { this.className = 'hover'; }
}
Вы говорите, если это проверено, то оно красное. Если это не так, то это возможно.
Чтобы исправить это выглядело бы примерно так:
CSS:
.hover { background:blue }
.hover:hover { background:green }
.hoverChecked { background:red }
.hoverChecked:hover { background:green }
JS:
if(document.getElementById('chk').checked) {
document.getElementById(row).className = 'hoverChecked';
}
else {
document.getElementById(row).className = 'hover';
}
Вы также можете исправить свой HTML:
<tr id="row1" style='background:#FFFFFF' class='hover'>