我这样写是没办法用的,只能有效改变第一个格子的颜色
请问大神们有没有方法帮我解决这个问题
想把id统一,可是这样我原来的代码也行不通了
<tr height="15px" id="trc">
<td  width="42" bgColor="#00FF33"  id="7a" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33"  id="8a" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="9a" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="10a" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="11a" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="12a" onclick="reTime()"></td>
<td  width="42" bgColor="#FF0000"  id="1p" onclick="reTime()"></td>
<td  width="42" bgColor="#FF0000" id="2p" onclick="reTime()"></td>
<td  width="42" bgColor="#FF0000" id="3p" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="4p" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="5p" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="6p" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="7p" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="8p" onclick="reTime()"></td>
<td  width="42" bgColor="#00FF33" id="9p" onclick="reTime()"></td>

<tr height="15px">

</tr>
<script language="JavaScript">
function reTime()
{
var element=document.getElementById("7a");

if (element.bgColor.match("#00ff33"))
  {
element.bgColor="#FFCC66";
   }
else
   {
   alert("该区域已经被预定");
   }
}</script>

解决方案 »

  1.   

    id可以不用变,直接使用this指针指向当前元素对象,也就是说this代表这个你当前点击的元素,或者使用事件对象(event.target)也可以获取当前点的元素.function reTime()
    {
    var element=this;if (element.bgColor.match("#00ff33"))
      {
    element.bgColor="#FFCC66";
       }
    else
       {
       alert("该区域已经被预定");
       }
    }</script>
      

  2.   

    <td onclick="reTime(this)">function reTime(element)
    {
    if (element.bgColor.match("#00ff33"))
      {
    element.bgColor="#FFCC66";
       }
    else
       {
       alert("该区域已经被预定");
       }
    }
      

  3.   

    同意2楼的,只需要传一个this对象,就可实现通用的function。