Hi everyone
I'm doing a javascript assignment and have just learned that I can do it in jQuery if I wish, rather than vanilla javascript. I thought I'd give it a go to see what it's like.
This is the contents of my javascript function:
rowsArray = $("#Table1 tr");
for (i=0;i<rowsArray.length;i++){
numSeatsInRow = rowsArray[i].getElementsByTagName("img").length; // discovers the number of seats in row [i]
for(j=0;j<numSeatsInRow;j++) { // loops round once for each set in row [i]
var currentSeat = rowsArray[i].getElementsByTagName("img")[j];
currentSeat.setAttribute("id","row" + i + "Seat" + j);
currentSeat.onmouseover = function(){this.src = "images/taken.gif"};
currentSeat.onmouseout = function(){this.src = "images/available.gif"};
currentSeat.onclick = function() {
this.src = "images/mine.gif";
this.onmouseover = null;
this.onmouseout = null;
document.getElementById("myTickets").innerHTML += this.id;
}
}
As you can see, I started converting to jQuery with the first line, but got stuck :)
The code works as is, but I figure there must be a more elegant way of doing it in jQuery. I tried using $.each but my selectors or syntax was wrong and it didn't work. I have a vague idea how it works for a 1D array, but I'm not clear on how to iterate through the items in nested arrays i.e. array[x][y].
The function creates and moves through a 2D array changing the id and mouse events of a set of images.
Any thoughts would be much appreciated :)