Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2011, 17:54
Новичок на форуме
Отправить личное сообщение для andreysolo Посмотреть профиль Найти все сообщения от andreysolo
 
Регистрация: 17.08.2011
Сообщений: 6

Массив из значений eq()
Делаю выборку нескольких элементов по их номеру в DOM и выделяю их цветом.
$('path').eq(12).attr('fill', '#52BAED');
$('path').eq(12).attr('fill', '#52BAED');
$('path').eq(13).attr('fill', '#52BAED');
$('path').eq(0).attr('fill', '#52BAED');
$('path').eq(18).attr('fill', '#52BAED');
$('path').eq(38).attr('fill', '#52BAED');


Если их количество увеличивается, получается не очень удобно.
Как можно все организовать с помощью массива?
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2011, 19:16
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Как-то так наверное.

var select=[12,13,0,18];
for (var i in select) $('path').eq(i).attr('fill', '#52BAED');


Поправленная версия. Типо так быстрее.
var select=[12,13,0,18];
var path=$('path');
for (var i in select) path.eq(i).attr('fill', '#52BAED');
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 12.10.2011 в 19:20.
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2011, 11:29
Новичок на форуме
Отправить личное сообщение для andreysolo Посмотреть профиль Найти все сообщения от andreysolo
 
Регистрация: 17.08.2011
Сообщений: 6

Элементы теперь определяются некорректно
http://scriptology.ru/map/

Последний раз редактировалось andreysolo, 13.10.2011 в 11:40.
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2011, 14:19
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Это я ступил))
Вот так должно работать.

var select=[12,13,0,18];
var path=$('path');
for (var i=0;i<path.length;i++) path.eq(select[i]).attr('fill', '#52BAED');
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.10.2011 в 14:24.
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2011, 15:06
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Как насчет использовать filter:
var select = [ 12, 13, 0, 18 ];
$('path').filter( handler ).attr('fill', '#52BAED');

function handler( index ){
  return select.indexOf( index ) != -1;
};
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2011, 16:07
Новичок на форуме
Отправить личное сообщение для andreysolo Посмотреть профиль Найти все сообщения от andreysolo
 
Регистрация: 17.08.2011
Сообщений: 6

Способ с for работает) Спасибо!
Вот что получается http://scriptology.ru/map/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать массив (JSON, XML не причем) ybiza AJAX и COMET 2 17.05.2011 08:58
как запихнуть в массив оператор ? mitiya Общие вопросы Javascript 2 09.02.2011 18:57
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
Подскажите, как вернуть js-скрипт массив Polkan AJAX и COMET 18 30.04.2010 23:30