Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запихнуть массив в атрибут (https://javascript.ru/forum/misc/59114-zapikhnut-massiv-v-atribut.html)

Nanto 28.10.2015 14:45

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

рони 28.10.2015 14:52

Цитата:

Сообщение от Nanto
"???вот тут непонятно"

массив нужен ? массив и пишите,

рони 28.10.2015 14:57

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-*

если он не нужен

Nanto 28.10.2015 15:17

Цитата:

Сообщение от рони (Сообщение 393417)
и забудьте про если он не нужен

Спасибо. В том-то и дело что нужен - нужно по клику на элементе определить какой контент показывать в поп-апе.
Как это ещё можно попроще реализовать - я не придумал. Если только классы соотвтествующие развешивать (айдишники не подойдут - у элемента может быть несколько контекстов) - так это же ещё хуже.

рони 28.10.2015 15:21

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


Часовой пояс GMT +3, время: 05:19.