I am trying to get the coordinates of my cells in this table, but with the code i have the coordinates will repeat after each tr tag is closed, so only going from 0-9 (i have a table of 9 rows with 9 cells). How can i get it to continue instead of starting over? or better yet, is there a way to get x and y coordinates? p.s. i have never used jquery. Thanks.
html code.
<table id="grid">
<tr>
<td onclick="myFunction(this)">1</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">4</td>
<td onclick="myFunction(this)">8</td>
<td onclick="myFunction(this)">9</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">6</td>
</tr>
<tr>
<td onclick="myFunction(this)">7</td>
<td onclick="myFunction(this)">3</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">4</td>
<td onclick="myFunction(this)"></td>
</tr>
<tr>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">1</td>
<td onclick="myFunction(this)">2</td>
<td onclick="myFunction(this)">9</td>
<td onclick="myFunction(this)">5</td>
</tr>
<tr>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">7</td>
<td onclick="myFunction(this)">1</td>
<td onclick="myFunction(this)">2</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">6</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
</tr>
<tr>
<td onclick="myFunction(this)">5</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">7</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">3</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">8</td>
</tr>
<tr>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">6</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">9</td>
<td onclick="myFunction(this)">5</td>
<td onclick="myFunction(this)">7</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
</tr>
<tr>
<td onclick="myFunction(this)">9</td>
<td onclick="myFunction(this)">1</td>
<td onclick="myFunction(this)">4</td>
<td onclick="myFunction(this)">6</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
</tr>
<tr>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">2</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">3</td>
<td onclick="myFunction(this)">7</td>
</tr>
<tr>
<td onclick="myFunction(this)">8</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">5</td>
<td onclick="myFunction(this)">1</td>
<td onclick="myFunction(this)">2</td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)"></td>
<td onclick="myFunction(this)">4</td>
</tr>
JScde.js
window.onload = function(){
var cells = document.getElementsByTagName('td');
for(var prop in cells){
if(cells[prop].innerHTML === ''){
cells[prop].innerHTML += '<input type="text" maxlength="1"/>'
}
}
};
function myFunction(x){
alert("cell index is: " + x.cellIndex);
}
trelements have rowIndex property, you can use that as a "y-coordinate".x.getBoundingClientRect()that has the x, y, width, and height properties.