Так сейчас попробую объяснить получше:
в HTML все просто имеем всего один ID в body:
Код:
|
<body>
<div id="matrix1"></div>
</body>
|
далее в JS генерируем матрицу из заданного кол-ва дивов:
function Matrix(containerID,rows,cols){
this.containerID = containerID;
this.rows = rows; //Кол-во строк
this.cols = cols; //Кол-во столбцов
var n = this.rows * this.cols; //Кол-во ячеек матрицы
this.create = function (){
var matrix = document.getElementById(this.containerID);
for (var i = 0; i < n; i++){
var div = document.createElement('div');
div.className = 'cell';
matrix.appendChild(div);
}
}
Далее нам нужно просто div с заданными параметрами col и row закрасить цветом. Для этого у меня функция фнутри того же класса Matrix:
this.setCell = function([row,col],val){ //Установка ячейки
var a = [row,col]
var index = (a[0]-1)* this.cols + (a[1]-1);
var cell = document.getElementById(this.containerID).children[index]; //Получаем ячейку
cell.className = (val ? "cell light" : "cell"); //Присваеваем класс в зависимости от параметра val
}
Так вот внутри этой функции в 4 строке идет обращение к DOM-элементу. Нужно эту строчку поменять так, чтобы было обращение через jQuery