«Какой лучший способ сделать это?»
Если вы собираетесь использовать jQuery, вы должны использовать его API для удаления элементов, и вы должны использовать правильные методы, иначе, как вы заявили, у вас будут утечки памяти.
Если вы не знаете, когда удаляется узел DOM и если он вызывает утечку, я предполагаю, что это означает, что вы используете другую библиотеку наряду с jQuery. Это просто не очень хорошая идея по этой самой причине.
Вам необходимо убедиться, что все элементы, затронутые jQuery, удалены с помощью jQuery. В $.cache
также хранятся некоторые данные, которые вы явно не указали. Это означает, что все элементы должны быть удалены с помощью jQuery, а не только те, которые, по вашему мнению, могут иметь данные.
«Какова цель $.cache
в jQuery?»
Чтобы связать обработчики и другие данные с элементами. Связь между данными и элементами в основном представляет собой серийный номер, хранящийся в свойстве expando элемента.
Если вы удалите элемент без jQuery, связанные данные в $.cache
будут потеряны.
Целью этого подхода было предотвращение возможных утечек. К сожалению, это может привести к более серьезным утечкам.