Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: добавление узла DOM
 
 автор: Axxil   (09.02.2006 в 11:05)   письмо автору
 
 

Граждане, кто в DOM разбирается? Почему данный код работает в Опере и не работает в IE?
Не работает это значит не отображается свежедобавленый узел <div> в контейнере result

<script>
  function addNewDiv(){
    var div = document.createElement('div');
    var result = document.getElementById('result');
    var table = document.createElement('table');
    var tr = document.createElement('tr');
    var td = document.createElement('td');
    var text=document.createTextNode("test");
    td.appendChild(text);
    tr.appendChild(td);
    table.appendChild(tr);
    div.appendChild(table); 
    result.appendChild(div);    
  }
</script>
<input type='button' onClick='addNewDiv()'>
<div id='result'></div>

   
 
 автор: Crux   (09.02.2006 в 11:56)   письмо автору
 
   для: Axxil   (09.02.2006 в 11:05)
 

для динамического создание таблиц необходимо действовать подругому.
читай статью http://www.softtime.ru/info/articlephp.php?id_article=67

   
 
 автор: Axxil   (09.02.2006 в 12:51)   письмо автору
 
   для: Crux   (09.02.2006 в 11:56)
 

То же самое написано
Таблица то создаётся но не отображается

   
 
 автор: Crux   (10.02.2006 в 18:00)   письмо автору
 
   для: Axxil   (09.02.2006 в 12:51)
 

где это тоже самое???????
для создания строк (tr) используется метод insertRow()
для создания столбцов (td) используется метод insertCell().
там даже пример есть, попытайтесь прочитать статью ещё раз, повнимательней.

   
 
 автор: Axxil   (10.02.2006 в 19:41)   письмо автору
 
   для: Crux   (10.02.2006 в 18:00)
 

Причём тут insertRow и insertCell?
td это дочерний узел tr который в свою очередь является дочкой table и т.д.

Почему так не работает? Я ведь создал узлы, связал их между собой... В чём тогда дело?

Что интересно таблица как раз строится идеально. А вот в блоке не отображается
Кстати если сделать
alert(result.innerHTML)

Показывается HTML код блока с таблицей. Почему же тогда не выводится?

   
 
 автор: Crux   (12.02.2006 в 09:01)   письмо автору
 
   для: Axxil   (10.02.2006 в 19:41)
 

удачи!

   
 
 автор: Crux   (12.02.2006 в 09:11)   письмо автору
 
   для: Axxil   (10.02.2006 в 19:41)
 

>> Почему так не работает? Я ведь создал узлы, связал их между собой... В чём тогда дело?
таблица это слложный объект и простым innerHTML здесь не обойтись.
для этого существуют методы insertRow и insertCell.
почему так? - обращайтесь к разработчикам W3C DOM.

   
 
 автор: Axxil   (12.02.2006 в 19:52)   письмо автору
 
   для: Crux   (12.02.2006 в 09:11)
 

Да уж...
ПРИЧЁМ ТУТ ТАБЛИЦА???
Таблица строится. Но НЕ ВЫВОДИТСЯ в браузер.
Хотя ладно проехали. Всё решилось. Спасибо за помощь.

ЗЫ Решилось всё первоначальным присваиванием div.innerHTML=' '
Просто похоже в пустой блок не выводилось. Но только в IE
Бесят уже эти браузерные войны...

   
 
 автор: Crux   (12.02.2006 в 09:26)   письмо автору
 
   для: Axxil   (10.02.2006 в 19:41)
 

>>td это дочерний узел tr который в свою очередь является дочкой table и т.д.
здесь Вы неправильно расуждаете.
tr не может быть дочернем узлом table, т.к. к дочерним узлам table относятся только tBody, tHead, tFoot, Caption.

PS ещё раз прочтите статью.

   
 
 автор: Axxil   (12.02.2006 в 19:56)   письмо автору
 
   для: Crux   (12.02.2006 в 09:26)
 

Я уважаю автора статьи, но помимо этого есть ещё куча методов динамически строить таблицу. И не стоит её приводить как единственное решение.
И я спрашивал конкретный вопрос который предполагал конкретный ответ.
И не стоит в каждом посте указывать мне на одну и ту же статью, которую я читал задолго до этого вопроса.

   
 
 автор: Crux   (12.02.2006 в 20:35)   письмо автору
 
   для: Axxil   (12.02.2006 в 19:56)
 

>>И я спрашивал конкретный вопрос который предполагал конкретный ответ.
и ответ был конкретный, у Вас были проблемы с динамическим построением таблици в IE (или я не прав?) статья даёт решение данной проблемы. А то что Вас этот метод не устраивает могли бы просто об этом написать.

PS если не сложно могли описать или дать ссылки на то как можно динамически строить талицу, избегая то что описано в статье. меня интересует, те методы которые безпроблемно работают в любых браузерах. спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования