Могу ли я обновить коллекцию объектов jQuery?

0

Я запустил много элементов, которые нужно оживить, поэтому я просто хочу их инициализировать один раз. Я сказал это заранее, чтобы отговорить вас от ответа на повторное определение, потому что мне пришлось бы переопределять все события для всех элементов в средней анимации.

У меня есть ul с десятками li, но когда я отсоединяю один из Li, следующая анимация STILL происходит во всей коллекции элементов, которая существовала при входе. Не в коллекции CURRENT.

Поэтому мне нужно каким-то образом "обновить" объект jquery (коллекция LI), чтобы удалить те, которые больше не существуют.

Есть ли что-нибудь для этого?

Я не знаю, знает ли каждая коллекция то, из чего она была сделана, даже назвав ее "обновлением", поэтому на данный момент я просто проверю, является ли родитель все тот же, и элемент не пуст.

Благодарю.

  • 0
    Я не уверен, что вы имеете в виду под "инициированными многими элементами". Пожалуйста, покажите код.
  • 0
    Inited: добавил события ко всем из них, разместил их на экране, создал из них коллекции JQ и т. Д. Я упомянул об этом, потому что пока они анимируются, я не хочу их снова подсчитывать и не удалять / добавлять все события снова. Они уже созданы, и я хочу, чтобы они оставались такими как можно дольше.
Теги:
loops
each
htmlcollection

2 ответа

0

Хорошо, так что, короче говоря, я ожидал, что, похоже, jQuery ничего не предоставляет.

Мне пришлось сделать переменную коллекции глобальной, поэтому функции, которые позже зависят от этой коллекции, могут видеть обновленную версию, а не передавать ее (переменную коллекции) в функции событий, которые не будут знать о будущих изменениях.

0

Образец кода может нам очень помочь.

Но из вашего вопроса я понял, что у вас есть коллекция объектов jQuery: "$ listCollection", из которой вы удаляете элемент li, например "listElement" (объект DOM, а не объект jQuery), тогда это то, что вы хотите

$listCollection.splice($listCollection.indexOf(listElement),1);

Примечание. Вышеприведенный код будет приводить к ошибкам, если "listElement" не находится в "$ listCollection"

  • 0
    Я надеялся, что появилось что-то более автоматическое, например, JQ был достаточно умен, чтобы знать, где это происходит. Это решение не соответствует моим потребностям сейчас, потому что скрипт, который удаляет элемент, не знает о коллекции, созданной где-то еще.
  • 0
    Вам нужно будет привести пример кода, объясняющего ваши потребности, чтобы я мог помочь вам соответственно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню