Передать значение в селектор jQuery
Добрый день, уважаемые коллеги. Я еще новичок в JavaScript, поэтому мой вопрос может показаться банальным, прошу не судить строго:
Мне необходимо выбрать div с определенным индексом в определенном id внутри экземпляра класса. ID передается параметром и может иметь разные значения. Как правильно задать селектор jQuery, чтобы получить доступ к нужному мне элементу? function Matrix(containerID, rows, cols) this rows = rows; this cols = cols; this.containerID = containerID; this.setCell = function(row,col){ var index = ......; //вычисление индекса var cell = $("#this.containerID div").eq(index); // Вот здесь проблема с обращением к div'у в конкретном ID. } |
Orleon,
Покажите хотя бы некоторые примеры вашего HTML, а то как-то все очень расплывчато:-? |
Так сейчас попробую объяснить получше:
в HTML все просто имеем всего один ID в body: Код:
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 |
А, всё! Пока обдумывал смысл вашего вопроса - до меня дошло, что id в html всегда один и тот же будет, а я почему то привязался к id объекта и думал, что надо обращаться через него :))
|
Часовой пояс GMT +3, время: 20:19. |