Вход

Просмотр полной версии : проблема с динамической вставкой тега <center>


weeklyTea
18.12.2010, 17:40
Вообщем вроде как создаю динамически таблицу, в ней одна строка и одна ячейка в которой будет много строк, кол-во символов в которых будет равна номеру строки, но не в этом суть. Суть в том что я хочу сделать так, что бы всё в этой ячейке было выровнено по центру, подскажите как.

вот мой код:
<HTML>
<HEAD>
<TITLE>Sample</TITLE>

<script type="text/javascript">

var td1 = document.createElement("TD");
//функция создает таблицу
function table(){
var tbody = document.getElementById('tab1').getElementsByTagNa me('TBODY')[0];
var row1 = document.createElement("TR");
tbody.appendChild(row1);
row1.appendChild(td1);
}
//функция добавляет в ячейку текст. Тег br работает, а center почему-то нет :(
function modify(g) {
var BR = document.createElement("br");
var cent = document.createElement("center");
var centClose = document.createElement("/center");
td1.appendChild(cent);
td1.innerHTML +=123456;
td1.appendChild(BR);
td1.innerHTML += g;
td1.appendChild(BR);
td1.appendChild(centClose);
}
</script>

</HEAD>
<BODY>

<button onclick="table()">Добавить таблицу</button>
<button onclick="modify('123')">Вставить текст</button>
<table id="tab1" border=2>

</table>

</BODY>
</HTML>

ksa
18.12.2010, 18:58
таблицу, в ней одна строка и одна ячейка в которой будет много строк
Лихо закручен сюжет! :D
А что это за строки такие которые будут потом так сильно размножаться в той одной ячейке?
Т.е. пример хтмл-разметки покажи... Чего в конечном счете нагенеришь?

weeklyTea
18.12.2010, 19:59
да уж, ступил ) ну строка же не однозначное слово )
незнаю что-такое хтмл разметка ) мне туда надо "нарисовать" треугольник паскаля. т.е. я сделал чтобы треугольник считался и выписовался, только он выписывается как прямоугольный треугольник с катетом внизу, т.е. каждая строка "прилеплена" к правой границе окна, а должна быть только последняя. И это... если что, я совсем нуб в javascript -е )

ksa
18.12.2010, 21:02
всё в этой ячейке было выровнено по центру
Как вариант...

var td1 = document.createElement("TD");
td1.style.textAlign='center';

weeklyTea
19.12.2010, 08:36
спасибо большое! )

и все таки интересно, почему var cent = document.createElement("center"); и td1.appendChild(cent); не дают нужного результата....

ksa
19.12.2010, 09:03
weeklyTea, так ты свои значения не в центер суёшь... :) Т.е. у тебя он пустой.

<HTML>
<HEAD>
<TITLE>Sample</TITLE>

<script type="text/javascript">

var td1 = document.createElement("TD");
//функция создает таблицу
function table(){
var tbody = document.getElementById('tab1').getElementsByTagNa me('TBODY')[0];
var row1 = document.createElement("TR");
tbody.appendChild(row1);
row1.appendChild(td1);
}
//функция добавляет в ячейку текст. Тег br работает, а center почему-то нет :(
function modify(g) {
var BR = document.createElement("br");
var cent = document.createElement("center");
td1.appendChild(cent);
cent.innerHTML =123456;
cent.appendChild(BR);
cent.innerHTML += g;
td1.appendChild(cent);
}
</script>

</HEAD>
<BODY>

<button onclick="table()">Добавить таблицу</button>
<button onclick="modify('123')">Вставить текст</button>
<table id="tab1" border=2>

</table>

</BODY>
</HTML>

Найди несколько отличий...

weeklyTea
19.12.2010, 09:43
ясн... Не совсем правильно я понимал метод createElement()... я думал что им можно создать тег и пользоваться им...

тут еще один вопрос возник: как динамически удалить таблицу и все содержимое в ней? )

ksa
19.12.2010, 09:48
я думал что им можно создать тег и пользоваться им..
Этот метод делает не тег... Но весь элемент целиком.

weeklyTea
19.12.2010, 13:54
ну подскажите с табличкой плиз

weeklyTea
19.12.2010, 23:22
все ок, разобрался сам.
если кому-то интересно сделал все такими строчками:
var tbody = document.getElementById('tab1').getElementsByTagNa me('TBODY')[0];
tbody.rows[0].cells[0].innerText = "";

:)