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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таблица на JS 
:(
    Опции темы
Reptor
Дата 17.12.2007, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



Делаю таблицу с помощью 
Код

document.createElement("table");


потом в конце делаю 
Код

tbl.appendChild(tblBody);
    tbl.setAttribute("border", "0");
    tbl.setAttribute("cellpadding", "0");
    tbl.setAttribute("cellspacing", "0");
    tbl.setAttribute("width", "652");


но всеровно есть вертикальные полосы которые разделяют столбики. Как их забрать вроде?? ж как всё обнулил.

Вот картинка. 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  untitled.rar 1,55 Kb
PM MAIL ICQ   Вверх
Ghirik
Дата 17.12.2007, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Это Вам поможет.

Код

<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<script language="javascript">
<!--
function mixin(obj1,obj2){
    for    (var n in obj2) obj1[n]=obj2[n];
}

function addtablerror(id,text)
{
var div = document.createElement("div");
    div.id=id+'_hint';
    mixin(div.style,{position: "absolute",top:"20px",border:"1px solid #0000FF", width:"100%",height:"10px"});
var table = document.createElement("table");
    mixin(table,{cellSpacing: 0,cellPadding: 0,width: 400});
var tr = document.createElement("tr");
var td = document.createElement("td");
    mixin(td,{innerHTML: text});
tr.appendChild(td);
var tbody = document.createElement("tbody");
tbody.appendChild(tr);
table.appendChild(tbody);
div.appendChild(table);
document.body.appendChild(div);
}
//-->
</script>
</head>
<body>
<input value="HTML" type="button" onclick=alert(document.body.innerHTML)>
<div id=div1></div>
<p><a href=# onClick="addtablerror(div1,'')">dfgdfgdfgdfdfg</a></p>
<div style="position: absolute; width: 100px; height: 100px; z-index: 1" 
id="layer1">
&nbsp;</div>
</body>
</html>



--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
bars80080
Дата 18.12.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



если бы вопрос был о css, то решение было бы
Код

{ border-collapse: collapse; }

PM MAIL WWW   Вверх
Ghirik
Дата 18.12.2007, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Ну и в JavaScript-е тогда tbl.setAttribute("borderСollapse", "collapse");

Это сообщение отредактировал(а) Ghirik - 18.12.2007, 21:10


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Reptor
Дата 19.12.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



Ghirik,  
Цитата

Ну и в JavaScript-е тогда tbl.setAttribute("borderСollapse", "collapse");


что то не помогает да и что то id <td> не могу установить вот таким образом 
Код


    var cell = document.createElement("td");
                
            cell.id = "txtmembtb";



PM MAIL ICQ   Вверх
Ghirik
Дата 19.12.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Reptor, выложите страничку с вашим созданием таблицы, как я выкладывал, от <html> до </html>. Я попробу разобраться.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Reptor
Дата 19.12.2007, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



Да обычно делаю как я выше писал
 
Код

var content = document.getElementById("stats_content");  //это обычный див без стил я без ничего

var title_table_soft= new Array();

    
title_table_soft[0] = '1';
    title_table_soft[1] = '2
    title_table_soft[2] = '3';
    title_table_soft[3] = '4
    title_table_soft[4] = '5';
    title_table_soft[5] = '6';
    title_table_soft[6] = '7';
    title_table_soft[7] = '8';
    title_table_soft[8] = '9';

title_table = title_table_soft; 

var tbl     = document.createElement("table");
    //tbl.style = 'styleTable';
    var tblBody = document.createElement("tbody");
    
    var row = document.createElement("tr");
    
    for(j=0; j<title_table.length; j++){
        var cell = document.createElement("td");
        cell.style.background = "abbac2";
        cell.id = "txtmembtb";
        var cellText = document.createTextNode(title_table[j]);
        cell.appendChild(cellText);
        row.appendChild(cell);
    }
    tblBody.appendChild(row);    

tbl.appendChild(tblBody);
    //tbl.setAttribute("border", "0");
//    tbl.setAttribute("cellpadding", "0");
//    tbl.setAttribute("cellspacing", "0");
 tbl.setAttribute("borderСollapse", "collapse");
    tbl.setAttribute("width", "652");
    content.appendChild(tbl);


вот так вот.

Добавлено через 6 минут и 1 секунду
ну вот страничка
Код


<html>

<body>

<div id="stats_content">

</div>

</body>
<script type="text/javascript" language="JavaScript">
var content = document.getElementById("stats_content");  //это обычный див без стил я без ничего    
var title_table_soft= new Array();    
     alert(content);
title_table_soft[0] = '1';    
    title_table_soft[1] = '2';    
    title_table_soft[2] = '3';    
    title_table_soft[3] = '4';    
    title_table_soft[4] = '5';    
    title_table_soft[5] = '6';    
    title_table_soft[6] = '7';    
    title_table_soft[7] = '8';    
    title_table_soft[8] = '9';    
title_table = title_table_soft; 

var tbl     = document.createElement("table");    
    //tbl.style = 'styleTable';    
    var tblBody = document.createElement("tbody");    
     
    var row = document.createElement("tr");    
     
    for(j=0; j<title_table.length; j++){    
        var cell = document.createElement("td");    
        cell.style.background = "abbac2";    
        cell.id = "txtmembtb";    
        var cellText = document.createTextNode(title_table[j]);    
        cell.appendChild(cellText);    
        row.appendChild(cell);    
    }    
    tblBody.appendChild(row);    
    tbl.appendChild(tblBody);    
    //tbl.setAttribute("border", "0");    
//    tbl.setAttribute("cellpadding", "0");    
//    tbl.setAttribute("cellspacing", "0");    
 tbl.setAttribute("borderСollapse", "collapse");    
    tbl.setAttribute("width", "652");    
    content.appendChild(tbl);

</script>


</html>

PM MAIL ICQ   Вверх
Ghirik
Дата 19.12.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



У Вас все созданные элементы имеют один и тот же id
Я же специально выложил страничку с кнопкой
Код

<input value="HTML" type="button" onclick="alert(document.getElementById('stats_content').innerHTML)">

Этой кнопочкой можно смотреть какой html создается.
Нужно наверное вот так присваивать id:
Код

cell.id = "txtmembtb" + j;

Остальное пока не смотрел, попробуйте, если что дальше разберемся...

Добавлено через 8 минут и 23 секунды
Действительно, что то не получается убрать зазоры. Счас помучаю.....

Это сообщение отредактировал(а) Ghirik - 19.12.2007, 20:21


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 19.12.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Такой синтексис
Код

tbl.setAttribute("cellspacing", "0")

FF проглатывает, зазоры исчезают, а IE не понимает....


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 19.12.2007, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Нашел! Блин, вот задачка для .....
Вот так нужно:
Код

tbl.setAttribute("cellSpacing", "0")

Если "S" в атрибуте "cellSpacing" заглавная, то все нормально... smile 
А вообще, очень удобно проверять какие свойства у элемента есть в разных браузерах с помощью обхода этих свойств. Вот ваша страничка с функцией обхода свойств:
Код

<html>
<body>
<input value="HTML" type="button" onclick="alert(document.getElementById('stats_content').innerHTML)">
<div id="stats_content" onclick="qwe(document.getElementById('stats_content').firstChild)">
</div>
</body>
<script type="text/javascript" language="JavaScript">
var content = document.getElementById("stats_content");  //это обычный див без стил я без ничего    
var title_table_soft= new Array();    
title_table_soft[0] = '1';    
    title_table_soft[1] = '2';    
    title_table_soft[2] = '3';    
    title_table_soft[3] = '4';    
    title_table_soft[4] = '5';    
    title_table_soft[5] = '6';    
    title_table_soft[6] = '7';    
    title_table_soft[7] = '8';    
    title_table_soft[8] = '9';    
var title_table = title_table_soft; 
var tbl     = document.createElement("table");    
    var tblBody = document.createElement("tbody");    
    var row = document.createElement("tr");    
    for(j=0; j<title_table.length; j++){    
        var cell = document.createElement("td");    
        cell.style.backgroundColor = "abbac2";    
        cell.id = "txtmembtb" + j;    
        var cellText = document.createTextNode(title_table[j]);    
        cell.appendChild(cellText);    
        row.appendChild(cell);    
    }    
    tblBody.appendChild(row);    
    tbl.appendChild(tblBody);    
    tbl.setAttribute("width", "652");    
    tbl.setAttribute("cellSpacing", "0")
    content.appendChild(tbl);
function qwe(obj) {
    var result = "The properties for the " + obj + " object:" + "<br>";
    for (var i in obj) {
        result += i + " = " + obj[i] + "<br>";
    }
        document.body.innerHTML=result+'<br>'
}
</script>
</html>
Кликните по таблице

Это сообщение отредактировал(а) Ghirik - 19.12.2007, 21:21


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Reptor
Дата 20.12.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



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


 




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


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

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