Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2018, 16:36
Аспирант
Отправить личное сообщение для Ramundo Посмотреть профиль Найти все сообщения от Ramundo
 
Регистрация: 07.03.2015
Сообщений: 47

как сохранить состояние клонированного элемента?
Помогите, пожалуйста, уже сил моих нет...

Суть в следующем:
На странице есть большой и сложный блок, включающий множество других. Его состояние может меняться действиями пользователя. Должна так же быть возможность возвращать его в исходное состояние.

Я решил, что будет здорово клонировать этот блок, и если нужно вернуться к исходному состоянию, то просто замещать измененный блок чистеньким клоном.
Создал клон
var redactor_tmp = tmp_div.getElementsByClassName('b_redactor')[0].cloneNode(true);


Замещаю, когда надо.
replaceNode(redactor_tmp, document.getElementsByClassName('b_redactor')[0]);

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

Как то коряво я написал, но надеюсь на ваше понимание. В общем, вся суть в вопросе - как сохранить клонированный элемент независимым от оригинала?
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2018, 16:44
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Ramundo
Замещаю, когда надо.
replaceNode(redactor_tmp, document.getElementsByClassName('b_redactor')[0]);
А так?
replaceNode(redactor_tmp.cloneNode(true), document.getElementsByClassName('b_redactor')[0]);
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2018, 16:45
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Ramundo
Как то коряво я написал
Лучше бы тестовый пример сделал, на нем можно было бы посмотреть...
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2018, 16:50
Аспирант
Отправить личное сообщение для Ramundo Посмотреть профиль Найти все сообщения от Ramundo
 
Регистрация: 07.03.2015
Сообщений: 47

Сообщение от ksa Посмотреть сообщение
А так?
replaceNode(redactor_tmp.cloneNode(true), document.getElementsByClassName('b_redactor')[0]);
Ты гений...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вернуть div и все вложенные в него элементы в первоначальное состояние? lucky89 Общие вопросы Javascript 17 26.02.2015 18:41
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
как узнать размер в пикселях элемента созданного элемента span Faab Общие вопросы Javascript 2 09.11.2013 16:46
Как сохранить обработчики элемента, при изменения положения элемента в dom-дереве ? Danxil Events/DOM/Window 5 08.11.2013 23:33
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25