未捕获的TypeError:无法读取属性' rowIndex'未定义的

时间:2014-10-21 22:45:23

标签: javascript html

当我单击每个单元格时,它将给出列,但不是行。我相信我无法以某种方式访问​​parentNode,它应该是td,以便我可以获得正确的行号。

这是我的javascript代码:

function getBoard(rows, cols)
{
    var board="";// ="<table>";// id=myTableId>";  //add this 
    var switch1 = 0; 
    for (x=0; x<rows; x++)
    {
        board +="<tr>";
        for (y=0; y<cols;y++)
        {
        switch1 = x%2;
        if (y%2 == switch1)
          board +="<td class=\"" + "td1\">" ; 
        else 
          board +="<td class=\"" + "td2\">";
        }
        board +="</tr>";
    }
    return board;
}

function setEvents()
{
    var cells= document.getElementsByTagName("td");
    for (var x = 0; x<cells.length; x++)
    {
        cells[x].onclick=function () { 
        var col = this.cellIndex;
        var row = this.ParentNode.rowIndex;
        alert (row);
        var info1=document.getElementById("coordinates");
        var row = this.ParentNode.rowIndex;
        info1.innerHTML="\"" + row +"\""; 
        };
    }

}


window.onload = function()
{
    var divGrid = document.getElementById("myTableId");
    var board = getBoard(8,8);
    //divGrid.innerHTML ="debug information";
    divGrid.innerHTML = board;
    setEvents();
}

这是我的HTML:

<!DOCTYPE html>
<title> Chessboard </title>
<head>
<link rel="stylesheet" href="styles.css">
<script src="view.js"></script>
<script src="model.js"></script>
</head>


<body >
 <table id="myTableId">
<div id ="gridDiv"> </div>
 </table>
 <div id = "coordinates"></div>
</body>

1 个答案:

答案 0 :(得分:0)

是的,parentNode是ParentNode!我想我应该习惯于javascripts模糊的答案。