Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.04.2011, 19:25
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

помогите с таблицей
Здравствуйте, помогите создать таблицу средствами JS. К уже созданной таблице я могу добавлять строки и удалять их а вот чтоб создать таблицу с нуля чего то не выходит ни как. Пишу следующее:
t=document.createElement('table').tBodies[0];
  r=t.insertRow(-1);
   c=r.insertCell(0);
   c.innerText='таблица';
   document.body.appendChild(t);

Не хочет создаваться, выдает ошибку на строке r=t.insertRow(-1);
Браузер у меня IE8
Ответить с цитированием
  #2 (permalink)  
Старый 30.04.2011, 19:42
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

<!DOCTYPE html>
	<script type = "text/javascript">
	window.onload = function(){
		document.body.appendChild(
			function(rows, cols){
				var table = document.createElement("TABLE"), tr, td;
				
				for(var r = 0; r < rows; r ++){
					table.appendChild(
						(function(){
							tr = document.createElement("TR");
							for(var c = 0; c < cols; c ++){
								tr.appendChild(
									(function(){
										td = document.createElement("TD");
										td.innerHTML = "row: " + r + ", cell: " + c;
										td.style.border = "1px solid red";
										return td;
									}())
								)
							}
							return tr;
						}())
					)
				}
				return table;
			
			}(10, 7)
		
		)
	}
	</script>
__________________
readOnly
Ответить с цитированием
  #3 (permalink)  
Старый 30.04.2011, 19:52
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

Спасибо. Но у меня в IE не работает ( Хотя сейчас через IE зашел на сайт Ваш пример работает, копирую скрипт себе запускаю, не работает

Последний раз редактировалось simple, 30.04.2011 в 19:55.
Ответить с цитированием
  #4 (permalink)  
Старый 30.04.2011, 19:57
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Вы в своем браузере нажимали кнопочку "Посмотреть"? что здесь может не работать? У меня к сожалению только IE9, но этот код должен везде работать, здесь не используются всякие опасные методы createElement везде есть
__________________
readOnly
Ответить с цитированием
  #5 (permalink)  
Старый 30.04.2011, 19:59
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

он про это

с конца не вставляется


r=t.insertRow(-1);
Ответить с цитированием
  #6 (permalink)  
Старый 30.04.2011, 20:09
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

Я просто не могу понять почему у меня не работает этот пример:
<script type = "text/javascript">
var oTbl=document.createElement("Table");
for(i=0;i<3;i++)
{
 var  oTR= oTbl.insertRow(i);
 for(j=0;j<3;j++)
 {
  var  oTD= oTR.insertCell(j);      
       oTD.InnerText="111";}
document.body.appendChild(oTbl);
</script>

Выдает ошибку: document.body is null or not an object
Вроде ведь все правильно
Ответить с цитированием
  #7 (permalink)  
Старый 30.04.2011, 20:13
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

poorking, да извиняюсь работает Ваш код
Ответить с цитированием
  #8 (permalink)  
Старый 30.04.2011, 20:22
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

melky,
в ie8 insertRow/Cell(-1) не работает? ну не знаю, я вообще этими методами никогда не пользовался
<!DOCTYPE html>
<script type = "text/javascript">
//Этот код на этой странице у меня тоже не работает
var table = document.createElement("TABLE");
		
		for(var r = 0; r < 10; r ++){
			var row = table.insertRow(-1);
			for(var c = 0; c < 10; c ++){
				var cell = row.insertCell(-1);
				cell.innerHTML = r + "-" + c;
				cell.style.border = "1px solid red";
			}
		}
		
		document.body.appendChild(table);
</script>

Не знаю чего не работает. Мне этими методами и не приходилось пользоваться если честно, не знаю о их кроссбраузерности. Они нужны только если вместо insertBefore, так как он с таблицами в ie как раз вроде некорректно работает
__________________
readOnly
Ответить с цитированием
  #9 (permalink)  
Старый 30.04.2011, 20:31
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

тег <body> забыли

<!DOCTYPE html>
<body></body>
<script type = "text/javascript">

var table = document.createElement("TABLE");
		
		for(var r = 0; r < 10; r ++){

			var row = table.insertRow(-1);

			for(var c = 0; c < 10; c ++){

				var cell = row.insertCell(-1);
				cell.innerHTML = r + "-" + c;
				cell.style.border = "1px solid red";

			}
		}
		
		document.body.appendChild(table);
</script>

Последний раз редактировалось melky, 30.04.2011 в 20:34.
Ответить с цитированием
  #10 (permalink)  
Старый 30.04.2011, 20:42
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

melky,
ай точно, предыдущий пример я завернул в window.onload, браузер его дорисовал
__________________
readOnly
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Элементарный скрипт не раборает только в IE, помогите! androlic Элементы интерфейса 6 23.03.2011 18:37
Помогите с таблицей AKIMbl4 Элементы интерфейса 14 28.02.2011 20:03
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Люди, ПОМОГИТЕ! Bel666 jQuery 11 27.04.2010 15:38
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28