I know this is very easy question, but I couldn’t find the answer anywhere. Only answers are the ones using jQuery, not pure JS. I’ve tried the code below and it doesn’t work. I don’t know why.
var t = document.getElementById("table"),
d = t.getElementsByTagName("tr"),
r = d.getElementsByTagName("td");
This also doesn’t work:
var t = document.getElementById("table"),
d = t.getElementsByTagName("tr"),
r = d.childNodes;
What am I doing wrong? What is the best way to do this?
EDIT:
I indeed have the id of my table table. Preety silly I know. This is how my HTML looks:
<table id="table">
<tr>
<td id="c1">1</td>
<td id="c2">2</td>
<td id="c3">3</td>
</tr>
<tr>
<td id="b1">4</td>
<td id="b2">5</td>
<td id="b3">6</td>
</tr>
<tr>
<td id="a1">7</td>
<td id="a2">8</td>
<td id="a3">9</td>
</tr>
</table>
To explain my intentions more clearly > I wish to make a tic tac toe game. For starters, I wish to click on the < td > and be able extract the id of that particular < td >. How to do it most efficiently?
This
d = t.getElementsByTagName("tr")and thisr = d.getElementsByTagName("td")are botharrays. ThegetElementsByTagNamereturns an collection of elements even if there’s just one found on your match.So you have to use like this:
Place the index of the array as you want to access the objects.
Note that
getElementByIdas the name says just get the element with matched id, so your table have to be like<table id='table'>andgetElementsByTagNamegets by the tag.EDIT:
Well, continuing this post, I think you can do this:
Try it!