Кэширование / перемещение разметки в DOM для повторного использования - PullRequest
0 голосов
/ 09 сентября 2010

Немного странно - здесь видны царапины и морщинистые носы.

В настоящее время разрабатывается эта прокручиваемая временная шкала, в которой пользователи постепенно загружают новые модули HTML через AJAX по мере их панорамирования / прокрутки, так что вскоре они могут получить довольно небольшую разметку на странице. Хотя они «увеличивают» (т.е. смещают масштаб оси X временной шкалы), мне приходится уничтожать эту вновь созданную разметку и устанавливать новую систему отсчета, в которую можно загружать новые модули.

Не вдаваясь слишком глубоко в то, как и почему внутренняя работа временной шкалы, я бы хотел знать, есть ли способ в JavaScript / jQuery для кэширования или временного «перемещения» (а не просто удаления и перезаписи) фрагментов разметки, которые вы уже загружен в DOM.

У меня такое чувство, что с моей стороны это желаемое за действительное, но если кто-то задумался над этим раньше, мне было бы интересно услышать. Заранее спасибо.

1 Ответ

1 голос
/ 09 сентября 2010

Вместо использования .empty() (что звучит как то, что вы делаете), вы можете использовать .detach().Предостережение с использованием .detach() заключается в том, что вам нужно сохранить ссылку на отдельный элемент (ы), чтобы вы могли сказать .append() позже.Как это:

...
var elementCache = [];
...
// later
elementCache.push($('some-selector-here').detach());
...
// later still
$('some-other-selector').append(elementCache.pop());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...