Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к элементу по id, сразу после добавления, DOM 
V
    Опции темы
Fedor
Дата 14.1.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Привет.
Такая проблема. Если я в JS добавляю элемент по нажатию на кнопку(через AJAX) таким способом:
Код

...
   el = document.getElementById( xmlHttp.responseText );
...
   oImg = document.createElement('img');
   oImg.src = 'path';
   oImg.id='imgDone';
   el.insertBefore( oImg, el.firstChild );
...

Добавляется все нормально.
Но потом если я сразу нажимаю на кнопку, делающее обратное действие (т.е. удаляет элемент):
Код

   el = document.getElementById( xmlHttp.responseText );
   if ( el.childNodes[1].id == 'imgDone' ) {
      el.removeChild( el.childNodes[1] );
   }

то элемент не видно (например, id - undefined).

З.Ы. Если элемент уже был при загрузке страницы, до удаляется он нормально.

Как быть? smile


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Nicholas_S
Дата 14.1.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 19



Fedor, если у тебя известен id элемента, который ты пытаешься удалить ('imgDone'), то возьми ссылку сразу на него, без лишних действий с childNodes:

Код

var img = document.getElementById('imgDone');

затем удали объект img.


--------------------
...все в мире относительно
PM   Вверх
Sardar
Дата 16.1.2007, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Fedor, id вещь уникальная на странице smile
Для ИЕ возможно ещё нужно создавать элемент через createElement("<img id='xxxx'>"); что бы он по ID был виден.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Fedor
Дата 16.1.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Цитата(Sardar @  16.1.2007,  01:53 Найти цитируемый пост)
Fedor, id вещь уникальная на странице

да, вот кстати, возможно поэтому проблема. Я это уже осознал, но пока не успел проверить - сессией увлекся smile. Сделаю, отпишусь.


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Fedor
Дата 19.1.2007, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Да, действительно. Проблема была именно в этом. Я при генерации не обращал внимание на то, что одинаковые айдишники-то плодятся smile

Nicholas_SSardar, спасибо.


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0875 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.