Итак, я пытаюсь выполнить итерацию по классу объектов jQuery аккордеона, проверить, какие из них открыты, добавить их в массив, затем (после сброса аккордеонов) снова открыть аккордеоны, которые были открыты раньше. Это кажется очень простым вопросом, и я извиняюсь, но в моих поисках кажется, что вопросы касались только итерации с использованием jquery вообще, а не для итерации по массивам объектов jquery. Я просто не мог найти ответ.Динамическое открытие массива jQuery-аккордеонов
Это то, что у меня есть, что по какой-то причине не работает. Сначала создается массив уже открытых аккордеонов.
$(".accordionClass").each(
function(){
if($(this).accordion("option", "active") !== false) {
activeArray.push($(this));
}
}
);
Это похоже на работу. По крайней мере, activeArray.length дает правильное количество объектов.
Затем я попытаюсь открыть все аккордеоны в этом массиве позже, после того как они были повторно инициализированы.
$.each(activeArray,
function(){
$(this).accordion({ active: 0 });
}
);
И не кубики. Они не открываются. Есть идеи?
как активный массив уже содержит объект jquery .. вы можете это сделать .accordian ({active: 0}). но лучшие решения позволят, как было предложено, сохранить объект DOM в массив вместо объекта jQuery. Надеюсь, вы не воссоздаете объекты DOM? – Ankit