Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   сделать таблицу. (https://javascript.ru/forum/misc/35565-sdelat-tablicu.html)

dima*** 14.02.2013 19:01

сделать таблицу.
 
Нужно сделать таблицу.
function rew(k,m){
var pov=[];
for (i=0;i<c.length; i++)  {	
 if(((u[k][0]==c[i][0]&&u[m][0]==c[i][2])||(u[k][0]==c[i][2]&&u[m][0]==c[i][0]))==!null){
 pov.push(c[i]);
 }
}
for (i=0;i<pov.length; i++)  {
document.write(pov[i]);
}}


for (k=0;k<u.length; k++){
for (m=0;m<u.length; m++){
rew(k,m);

document.write(':');
}
document.write('<br>');
}

":"-Это столбцы




Попытка решить самому:
document.write("<table border=1>");
	for (k = 0; k < u.length; k++) {
	    document.write("<tr>");
	    for (m = 0; m < u.length; m++) {
	      
		   document.write("<td>"+rew(k,m)+"</td>")
	    }
	    document.write("</tr>")
	}
	document.write("</table>");

Deff 14.02.2013 19:07

Цитата:

Сообщение от dima***
Попытка решить самому:

Создайте полную строку со всей таблицей(дополняя переменную), не забывайте о теге <tbody>
затем выводите всё единственным document.write

dima*** 14.02.2013 19:11

Цитата:

Сообщение от Deff (Сообщение 234034)
Создайте полную строку со всей таблицей(дополняя переменную), не забывайте о теге <tbody>
затем выводите всё единственным document.write

Это как?Где можно посмотреть?

Deff 14.02.2013 19:16

var strTabl="<table border=1><tbody>\n";
	for (k = 0; k < 4; k++) {
	    strTabl+= "\n<tr>\n";
	    for (m = 0; m < 5; m++) {
	         strTabl+= "<td>"+"строка " +k+"; яч "+m+"</td>";
	    }  strTabl+=  "\n</tr>\n";
	}
	    strTabl+= "\n</tbody></table>";
alert(strTabl);

dima*** 14.02.2013 19:35

Deff-спасибо.

dima*** 15.02.2013 10:08

Переделал таблицу,а что ставить между тегами <td> и </td>?

var strTabl="<table border=1><tbody>\n";
	    for (k = 0; k < u.length; k++) {
	        strTabl+= "\n<tr>\n";
	        for (m = 0; m < u.length; m++) {
	             strTabl+= "<td>"+...........+"</td>";
	        }  strTabl+=  "\n</tr>\n";
	    }
	        strTabl+= "\n</tbody></table>";
document.write	(strTabl);

danik.js 15.02.2013 11:17

Цитата:

Сообщение от Deff
<table border=1></body>

Deff, ты че, курнул чтоли?

Я больше предпочитаю dom-методы:

<!DOCTYPE html>
<body>
<script>
var table, row, data;

table = document.createElement('table');
table.border = 1;
for (var k = 0; k < 4; k++) {
    row = document.createElement('tr');
    for (var m = 0; m < 5; m++) {
        data = document.createElement('td');
        data.innerHTML = "строка " +k+"; яч "+m;
        row.appendChild(data);
    }
    table.appendChild(row);
}
document.body.appendChild(table);
</script>
</body>


Доктайп не должен быть XHTML, иначе в IE7 будут проблемы (без tbody)

Deff 15.02.2013 11:57

danik.js,
Coздал всю внутренность таблицы - сунул в созданный тег табле через appendChild, и всё вместе вставил в DOM, это и есть рекомендованный способ при создании многоэлементного узла!

document.createElement('td'); для каждого подэлемента это и есть не Айс, - при создании DOM объекта куча времени.

danik.js 15.02.2013 12:10

Deff, я с этим и не спорю. Вот только в данном случае абсолютно без разницы какой способ выбрать. Я предпочел dom-методы, для повышения читабельности.

Вопрос к тебе касался
Цитата:

Сообщение от Deff
не забывайте о теге <tbody>

и
Цитата:

Сообщение от dima***
<table border=1></body>

И первое и второе - бред. Как я уже говорил, tbody нужен только для старых ослов при доктайпе XHTML. Проще сменить доктайп и не париться с такими нюансами.

Deff 15.02.2013 12:34

danik.js,
Cтранный
Цитата:

Сообщение от danik.js
И первое и второе - бред.

Не выражайте мысли столь агресивно,*(я как то уже говорил),
Вы можете иногда и ошибаться.
Цитата:

Как я уже говорил, tbody нужен только для старых ослов при доктайпе XHTML. Проще сменить доктайп и не париться с такими нюансами.
Я работаю на техподдержке сервиса бесплатных форумов,их более 400 000
Доступа к движку нет, доктайп - не сменить
Есть нюансы неправильной работы DOM c таблами, при отсутствии явного tbody, да и юзер не помня о нём из tr часто пытается считать parent(ом) табле


Часовой пояс GMT +3, время: 03:47.