日期:2014-05-16  浏览次数:20320 次

我想实现table row改变背景
我让让鼠标移动到table中的某一行时,这行的背景色或背景图片改变。
我在php里面就设置了onmouseover和onmouseout:
echo "<tr onmouseover='" . "setrcolor('1', '".$row['roomname'].")'";
  echo "onmouseout='" . "setrcolor('0', '".$row['roomname'] . ")' >";
script部分如下:
function setrcolor(v,id)
{
  if(v=="1")
  {
  document.getElementById(id).style.background="#fcf4f6";
  alert("1");
  }
  if(v=="0")
  {
  document.getElementById(id).style.background="";
  alert("0");
  }
}
总是在setrcolor(这个地方报告语法错误,不知道为什么?

------解决方案--------------------
一般这样处理:
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function() {
    var obj = document.getElementById('demo').getElementsByTagName('tr');
    for (var i = 0; i < obj.length; i ++) {
        obj[i].onmouseover = function() {
            this.style.backgroundColor = 'red';
        }
        obj[i].onmouseout = function() {
            this.style.backgroundColor = '';
        }
    }
}
</script>
</head>

<body>
<table width="500" border="1" id="demo">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>

------解决方案--------------------
HTML code
<table width="500" border="1" id="demo" cellpadding="0" cellspacing="0">
  <tr onmousemove="this.style.backgroundColor='red'" onmouseover="this.style.backgroundColor='red'" onmouseout="this.style.backgroundColor='#fff';">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr></table>