Автор Тема: Динамическое создание элемента  (Прочитано 4774 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lucent

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Динамическое создание элемента
« : 30 Января 2007, 16:14:18 »
Есть картинка в тексте (без div, span возле нее).
Необходимо динамически создать (над/под ней ) новый элемент, скажем DIV c текстом.

пробую так, но не получается
насколько я понимаю, img - не контейнер и добавить дочерний узел не получится




Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Динамическое создание элемента
« Ответ #1 : 30 Января 2007, 18:34:22 »
Действительно, в справке написано, что appendChild() действует только если нужный элемент (img в данном случае) способен contain child nodes (иметь детей?...)

Альтернативный вариант с абсолютным позиционированием


"ssd"



Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Динамическое создание элемента
« Ответ #2 : 30 Января 2007, 23:16:45 »
Lucent
Да, создание в base_object (только все же body, наверно) сработает.

Некрасивый вариант img.outerHTML += \'<..>\' не подойдет в даном случае?
LJ: Backslashed life (rss)

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Динамическое создание элемента
« Ответ #3 : 31 Января 2007, 02:36:28 »
CGVictor
outerHTML - NN n/a (то есть только для IE)

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Динамическое создание элемента
« Ответ #4 : 31 Января 2007, 10:23:17 »
можно после картинки сделать insertAfter, вставить туда DIV с position: relative; width: imgOffestWidth; height: imgOffsetHeight; left: -imgOffsetWidth; top: -imgOffsetHeight;
В самом простом случае это должно сработать.

Можно присвоить всем этим картинкам класс и на onload заменять их на дивы с соответствующим бэкграундом.

Можно вставлять перед картинкой див, а потом аппендить в этот див картинку (тогда она исчезнет из своего первоначального места)

Вариантов-то тонна :)

Оффлайн Altum

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://chersky.ru/
Динамическое создание элемента
« Ответ #5 : 25 Апреля 2007, 10:49:40 »
А у меня вот какая проблема: есть скрипт добавляющий и удаляющий элементы input. В IE почему-то он не работает. В чём может быть проблема?







   
      
      
      
   

         Имя:
      

         Фамилия:
      

         E-mail
      


   
      
   

         
      




Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Динамическое создание элемента
« Ответ #6 : 25 Апреля 2007, 13:40:28 »
В начале функции поменяй
if (document.all) {
var tbody = document.getElementById(\'tb_items\').childNodes[0];
} else {
var tbody = document.getElementById(\'tb_items\');
}

Оффлайн Altum

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://chersky.ru/
Динамическое создание элемента
« Ответ #7 : 25 Апреля 2007, 13:57:48 »
andymc
СУПЕР!!! Спасибо!!! Заработало!!!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28