Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2015, 14:45
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

Запихнуть массив в атрибут
Подскажите какое-нибудь простое и изящное решение (jQuery included):
Надо в атрибут data-* засунуть массив (это будут индексы другого массива).
Но сделать это надо так: циклом дёргем элемент, проверяем есть ли у него этот атрибут, если нет - то создаем и записываем туда элемент массива, если есть - дописываем следующий элемент.
var eventArr = [object, object, .., object];
var eventArrId = [];
jQuery.each(eventArr, function() {
var id = this.index;
...
$(item).data("ArrId", "???вот тут непонятно");
};
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2015, 14:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Nanto
"???вот тут непонятно"
массив нужен ? массив и пишите,
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2015, 14:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Nanto,
непонятно в чём проблема то?
var eventArr = [object, object, .., object];
var eventArrId = [];
jQuery.each(eventArr, function() {
var id = this.index;
var data = $(item).data("ArrId") || [];
data.push('чего-то там')
$(item).data("ArrId", data);
});

и забудьте про
Сообщение от Nanto
атрибут data-*
если он не нужен
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2015, 15:17
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

Сообщение от рони Посмотреть сообщение
и забудьте про если он не нужен
Спасибо. В том-то и дело что нужен - нужно по клику на элементе определить какой контент показывать в поп-апе.
Как это ещё можно попроще реализовать - я не придумал. Если только классы соотвтествующие развешивать (айдишники не подойдут - у элемента может быть несколько контекстов) - так это же ещё хуже.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2015, 15:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Nanto,
так у вас есть data() из неё и берите данные -- а атрибуты хранят только строки а не массивы или иные обьекты -- и для работы с ними есть функция attr()
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация в массив Alex1233 Общие вопросы Javascript 12 13.05.2015 12:04
Сменить атрибут у тега img lifecom jQuery 2 03.09.2013 16:52
как запихнуть в массив оператор ? mitiya Общие вопросы Javascript 2 09.02.2011 18:57
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
Подскажите, как вернуть js-скрипт массив Polkan AJAX и COMET 18 30.04.2010 23:30