Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.04.2016, 11:50
Новичок на форуме
Отправить личное сообщение для Orleon Посмотреть профиль Найти все сообщения от Orleon
 
Регистрация: 19.04.2016
Сообщений: 5

Передать значение в селектор 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.
}
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2016, 12:44
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Orleon,
Покажите хотя бы некоторые примеры вашего HTML, а то как-то все очень расплывчато
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2016, 12:58
Новичок на форуме
Отправить личное сообщение для Orleon Посмотреть профиль Найти все сообщения от Orleon
 
Регистрация: 19.04.2016
Сообщений: 5

Так сейчас попробую объяснить получше:

в 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
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2016, 13:23
Новичок на форуме
Отправить личное сообщение для Orleon Посмотреть профиль Найти все сообщения от Orleon
 
Регистрация: 19.04.2016
Сообщений: 5

А, всё! Пока обдумывал смысл вашего вопроса - до меня дошло, что id в html всегда один и тот же будет, а я почему то привязался к id объекта и думал, что надо обращаться через него )
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать параметры в функцию jQuery AJAX Lion_astana Общие вопросы Javascript 7 21.02.2014 17:25
Передать значение этой переменной скрипту пхп не обновляя страницы jei Общие вопросы Javascript 10 01.03.2013 18:14
как передать значение из одного скрипта во второй eidicon Общие вопросы Javascript 12 04.05.2012 21:34
как значение переменной из javascript передать в php? mobiledeveloper Общие вопросы Javascript 1 02.05.2012 20:00
Как передать в функцию значение а не ссылку на переменную? Ghaniball Общие вопросы Javascript 4 02.09.2011 18:24