Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.06.2010, 15:22
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

Отказывается совершать append
Есть у меня некий объект category которые имеет метод block()
var domBlock;
this.block = function(){
 if (!domBlock){
   // тут конструктор блока
 }
 return domBlock; // jquery объект
}

Далее я в цикле очищаю область. Пробегаюсь по списку
for(id in category_list){
   area.append( category_list[id].block() );
}


Вот тут то и косяк. Если только что были созданы 3 блока, то они выведутся, а те что хранились внутри объекта уже не выводятся. Если еще раз выполнить ajax запрос, то появятся новые, в то время как старые не появятся больше.
как это решить?
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2010, 13:37
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

Вопрос помогли решить на другом ресурсе, все дело было в том что перед append надо было использовать .clone(), судя по всему ИЕ удаляет дочерние объекты при очистке атрибута innerHTML.
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2010, 13:56
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от Kein Посмотреть сообщение
судя по всему ИЕ удаляет дочерние объекты при очистке атрибута innerHTML.
Покажите мне браузер, который этого не делает Оо
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2010, 14:36
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
альтернатива append() igsavenko jQuery 19 05.03.2010 18:05
Opera отказывается работать с DOM cepreu4 Events/DOM/Window 5 02.03.2010 00:37
Синхронность выполнения анимации и append kotmatroskin jQuery 10 26.01.2009 11:03