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

HTML+CSS+JavaScript

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

 

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

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

тема: Странности с динамическим созданием таблицы
 
 автор: coloboc66   (09.11.2006 в 12:50)   письмо автору
 
 

Динамически создаю таблицу и методом appendChild добавляю ее в div. Просматриваю содержимое div с помощью alert(...innerHTML) - вижу все то, что мне и нужно. Но ВИЗУАЛЬНО на странице ничего не вижу и никаких сообщений об ошибках. Как это понимать???!!!

   
 
 автор: ilyaILF   (09.11.2006 в 15:39)   письмо автору
 
   для: coloboc66   (09.11.2006 в 12:50)
 

При распечатке alert(.....innerHTML) своего тега <div></div> вы можете видеть только созданные теги <table></table>, причем внутри них отсутствуют теги строк и столбцов, кроме того для вновь созданной таблицы не заданы стили: ширина, высота, border для ячеек и вы не можете видеть присутствие или отсутствие вашей созданной таблицы. Предлагаю вам вариант кода, который показывает принцип добавления таблицы:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>New Site</title>
</head>
<script language="JavaScript">
<!--
function fnAppend()
{
var newTable=document.createElement("TABLE");
oldDiv.appendChild(newTable);
newTable.insertRow();        //Добавляем в таблицу строку
newTable.rows[0].insertCell();    //В созданную строку добавляем первый столбец
newTable.rows[0].insertCell();    //В созданную строку добавляем второй столбец
//alert(oldDiv.innerHTML);     
 /*Здесь вы можете проверить содержимое тега <div></div>,т.е. полностью конфигурацию таблицы*/
}
//-->
</script>
<style type="text/css">
table
    {
    width:100%;
    height:200px;
    border-collapse:collapse;
    }
td
    {
    width:50%;
    border:1px solid #000;
    }
</style>
<body>
    <div id="oldDiv">

    </div>
<INPUT TYPE = "button" VALUE = "Append Child" onclick = "fnAppend()">
</body>

</html>


   
 
 автор: coloboc66   (09.11.2006 в 16:08)   письмо автору
 
   для: ilyaILF   (09.11.2006 в 15:39)
 

Да нет: я вижу алертом все, вплоть до содержания каждой ячейки в каждой строке. А на странице не вижу ничего...

   
 
 автор: ilyaILF   (09.11.2006 в 16:18)   письмо автору
 
   для: coloboc66   (09.11.2006 в 16:08)
 

Нужен пример кода. В противном случае обсуждать проблему затруднительно.

   
 
 автор: Lelik   (09.11.2006 в 16:19)   письмо автору
 
   для: coloboc66   (09.11.2006 в 16:08)
 

а границы у талицы есть? поставь border=1
а свойства rows[0].insertCell() - это только по ИЕ
строить таблицу лучше с помощью циклов и записи в переменную

   
 
 автор: coloboc66   (09.11.2006 в 16:47)   письмо автору
 
   для: Lelik   (09.11.2006 в 16:19)
 

Разобрался в чем проблема: при динамическом создании строк таблицы (циклом) необходимо ОБЯЗАТЕЛЬНО создавать тег <TBODY>, а строки добавлять в него. А я создавать этот тег не посчитал нужным, за что и поплатился 5-ю часами времени...

   
Rambler's Top100
вверх

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