Сохраняются ли данные, сохраненные с помощью метода данных jquery при удалении элемента?

Что происходит с данными, хранящимися для данного элемента, с помощью функции jQuery.data() после удаления или замены этого элемента? В тестах кажется, что эти данные больше не доступны после удаления элемента, к которому он был прикреплен.

Ответы

Ответ 1

Да, когда элемент удаляется .remove() или .empty() для родителя (или .html() для родителя), данные (хранящиеся в объекте jQuery.cache) также очищается.

Вы можете видеть в источнике:

Во всех этих случаях функция jQuery.cleanData() выполняет работу.


В случае, если другие ищут способы прямого удаления данных, для этого есть функции, которые обычно не используются напрямую: .removeData() и $.removeData(). Они ведут себя как .data() и $.data() в использовании - без ключа данных (параметр имени) они очистят все значения данных для элемента.