提供一个思路-----------------------
<table id="o" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="80">
<tr>
<td>&nbsp;a</td>
</tr>
<tr>
<td>&nbsp;b</td>
</tr>
<tr>
<td>&nbsp;c</td>
</tr>
<tr>
<td>&nbsp;d</td>
</tr>
</table><script language="javascript">
<!--
var oIndex = 0;
o.focus();
o.onkeydown = function()
{
if(event.keyCode == 40 && oIndex != o.firstChild.childNodes.length)
{
doSelect(oIndex);
if(oIndex != 0)delSelect(oIndex);
oIndex++;
}
else if(event.keyCode == 38 && oIndex > 1)
{
doSelect(oIndex - 2);
delSelect(oIndex);
oIndex--;
}
}function doSelect(index)
{
o.firstChild.childNodes(index).bgColor = "red";

}
function delSelect(index)
{
o.firstChild.childNodes(index - 1).bgColor = "transparent";
}
//-->
</script>

解决方案 »

  1.   

    判断 当keyCode == 39 (右)时 进行操作<table id="o" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="80">
    <tr>
    <td>&nbsp;a</td>
    </tr>
    <tr>
    <td>&nbsp;b</td>
    </tr>
    <tr>
    <td>&nbsp;c</td>
    </tr>
    <tr>
    <td>&nbsp;d</td>
    </tr>
    </table>
    <div id="div0" style="position:absolute;border:1px solid red;height:100;width:80; left:85px; top:22px;display:none">1</div>
    <div id="div1" style="position:absolute;border:1px solid red;height:100;width:80; left:85px; top:38px;display:none">2</div>
    <div id="div2" style="position:absolute;border:1px solid red;height:100;width:80; left:85px; top:57px;display:none">3</div>
    <div id="div3" style="position:absolute;border:1px solid red;height:100;width:80; left:84px; top:73px;display:none">4</div>
    <script language="javascript">
    <!--
    var oIndex = 0;
    o.focus();
    var oLast = null;
    o.onkeydown = function()
    {
    if(event.keyCode == 40 && oIndex != o.firstChild.childNodes.length)
    {
    doSelect(oIndex);
    if(oIndex != 0)delSelect(oIndex);
    oIndex++;
    }
    else if(event.keyCode == 38 && oIndex > 1)
    {
    doSelect(oIndex - 2);
    delSelect(oIndex);
    oIndex--;
    }
    else if(event.keyCode == 39 && oIndex > 0)
    {
    if(oLast != null)oLast.style.display = "none";
    eval("div"+(oIndex - 1)).style.display="";
    oLast = eval("div"+(oIndex -1));
    }

    }function doSelect(index)
    {
    o.firstChild.childNodes(index).bgColor = "red";

    }
    function delSelect(index)
    {
    o.firstChild.childNodes(index - 1).bgColor = "transparent";
    }
    //-->
    </script>