【发布时间】:2010-11-09 07:54:18
【问题描述】:
我有一个简单的 html 表,它有几行。实现如下
1) 我已经为该行的 mouseover 事件指定了样式,以便在鼠标移过它时将其突出显示。
2)每一行也有一个复选框。选中此项后,复选框所在的行也需要以不同的颜色显示。
问题是,一旦单击复选框后行背景发生变化,应用于该行的 onmoseover 事件的悬停样式将不再适用。
以下是代码;
<html>
<head></head>
<style type="text/css">
tr { background: blue; }
tr:hover { background:green; }
</style>
<script type="text/javascript">
function Highlight(row)
{
if(document.getElementById('chk').checked)
{
document.getElementById(row).style.background='Red';
}
else
{
document.getElementById(row).onMouseOver = function() { this.className = 'hover'; }
}
}
</script>
<body>
<table>
<tr><th>Name</th> <th>Age</th></tr>
<tr id="row1" bgcolor="#FFFFFF" onMouseOver="className='hover';">
<td><input type="checkbox" id="chk" onclick="javascript:Highlight('row1');"</td>
<td>25</td></tr>
<tr id="row2"><td>aaaaaa</td><td>25</td></tr>
<tr id="row3"><td>aaaaaa</td><td>25</td></tr>
</table>
</body>
</html>
如果您能给我一个解决方案,不胜感激。
【问题讨论】:
标签: javascript html dhtml