Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   "colspan"? не, не слышал. (https://javascript.ru/forum/misc/61418-colspan-ne-ne-slyshal.html)

AciDWarrioR 17.02.2016 15:40

"colspan"? не, не слышал.
 
Ребят, что то вообще бред какой-то творится. Динамическая созданная таблица, делаю им colspan, на последних строках, ломается к чертям почему-то. Гляньте, пожалуйста, а то уже глаза стёр.
for (i=0; i<4; i++){
				var newRow1 = document.createElement("tr");
				var newRow2 = document.createElement("tr");
				var newRow3 = document.createElement("tr");
				var newRow4 = document.createElement("tr");
				var newCell1 = document.createElement("td");
				newCell1.classList.add('td1');
				var newCell2 = document.createElement("td");
				var newCell3 = document.createElement("td");
				var newCell4 = document.createElement("td");
				var newCell5 = document.createElement("td");
				newCell5.classList.add('td2');
				var newCell6 = document.createElement("td");
				newCell6.classList.add('td2');
				var newCell7 = document.createElement("td");
				var newCell8 = document.createElement("td");
				var newCell9 = document.createElement("td");
				var newCell10 = document.createElement("td");
				var newCell11 = document.createElement("td");
				var newCell12 = document.createElement("td");
				newCell12.classList.add('td1');
				var newCell13 = document.createElement("td");
				var newCell14 = document.createElement("td");
				var newCell15 = document.createElement("td");
				var newCell16 = document.createElement("td");
				newCell16.classList.add('td2');
				var newCell17 = document.createElement("td");
				newCell17.classList.add('td2');
				var newCell18 = document.createElement("td");
				var newCell19 = document.createElement("td");
				var newCell20 = document.createElement("td");
				var newCell21 = document.createElement("td");
				var newCell22 = document.createElement("td");
				var newCell23 = document.createElement("td");
				newCell23.classList.add('td2');
				var newCell24 = document.createElement("td");
				newCell24.classList.add('td2');
				var newCell25 = document.createElement("td");
				var newCell26 = document.createElement("td");
				var newCell27 = document.createElement("td");
				var newCell28 = document.createElement("td");
				var newCell29 = document.createElement("td");
				var newCell30 = document.createElement("td");
				newCell30.classList.add('td2');
				var newCell31 = document.createElement("td");
				var newCell32 = document.createElement("td");
				var newCell33 = document.createElement("td");
				var newCell34 = document.createElement("td");
				newCell34.classList.add('td2');
				var newCell35 = document.createElement("td");
				newCell35.classList.add('td2');
				var newCell36 = document.createElement("td");
				var newCell37 = document.createElement("td");
				var newCell38 = document.createElement("td");
				var newCell39 = document.createElement("td");
				var newCell40 = document.createElement("td");
				var newCell41 = document.createElement("td");
				newCell41.classList.add('td2');
				var newCell42 = document.createElement("td");
				var newCell43 = document.createElement("td");
				var newCell44 = document.createElement("td");
				newRow1.appendChild(newCell1);
				newRow1.appendChild(newCell2);
				newRow1.appendChild(newCell3);
				newRow1.appendChild(newCell4);
				newRow1.appendChild(newCell5);
				newRow1.appendChild(newCell6);
				newRow1.appendChild(newCell7);
				newRow1.appendChild(newCell8);
				newRow1.appendChild(newCell9);
				newRow1.appendChild(newCell10);
				newRow1.appendChild(newCell11);
				newRow2.appendChild(newCell12);
				newRow2.appendChild(newCell13);
				newRow2.appendChild(newCell14);
				newRow2.appendChild(newCell15);
				newRow2.appendChild(newCell16);
				newRow2.appendChild(newCell17);
				newRow2.appendChild(newCell18);
				newRow2.appendChild(newCell19);
				newRow2.appendChild(newCell20);
				newRow2.appendChild(newCell21);
				newRow2.appendChild(newCell22);
				newRow3.appendChild(newCell23);
				newRow3.appendChild(newCell24);
				newRow3.appendChild(newCell25);
				newRow3.appendChild(newCell26);
				newRow3.appendChild(newCell27);
				newRow3.appendChild(newCell28);
				newRow3.appendChild(newCell29);
				newRow3.appendChild(newCell30);
				newRow3.appendChild(newCell31);
				newRow3.appendChild(newCell32);
				newRow3.appendChild(newCell33);
				newRow4.appendChild(newCell34);
				newRow4.appendChild(newCell35);
				newRow4.appendChild(newCell36);
				newRow4.appendChild(newCell37);
				newRow4.appendChild(newCell38);
				newRow4.appendChild(newCell39);
				newRow4.appendChild(newCell40);
				newRow4.appendChild(newCell41);
				newRow4.appendChild(newCell42);
				newRow4.appendChild(newCell43);
				newRow4.appendChild(newCell44);
				tab[0].appendChild(newRow1);
				tab[0].appendChild(newRow2);
				tab[0].appendChild(newRow3);
				tab[0].appendChild(newRow4);
}
$('.td1').each(function(){
					$(this).attr('colspan', '4');
				});
				$('.td2').each(function(){
					$(this).attr('colspan', '2');
				});

Захожу в файрбаг, с начала все хорошо, на последней строке ломается почему то. Если надо будет могу скирны выложить, как разъезжается.
fireBug показывает, что colspan установился, но я то вижу же, что нетю

laimas 17.02.2016 15:52

А не удобнее ли описать создание ячеек циклом?

AciDWarrioR 17.02.2016 15:53

laimas,
Ну они как бы в цикле и создаются.
Цитата:

Сообщение от AciDWarrioR
for (i=0; i<4; i++){

Просто по сути одна запись с БД должна будет занять 4 строки. И по идеи в этом цикле они и заполняются, но я этого не скидывал, а скинул просто каркас, что он не собирается.

laimas 17.02.2016 15:58

Да нет, я имею ввиду методичное их перечисление, вставка...

AciDWarrioR 17.02.2016 16:01

laimas,
Да можно, но суть вопроса не в этом...

рони 17.02.2016 16:59

AciDWarrioR,
сделай таблицу до и после

AciDWarrioR 17.02.2016 16:59

Цитата:

Сообщение от рони
сделай таблицу до и после

Скрины?

laimas 17.02.2016 17:07

Цитата:

Сообщение от AciDWarrioR
Да можно, но суть вопроса не в этом...

Все в одном. Ну зачем зная ячейку делать так newCell35.classList.add('td2');, чтобы потом, да еще с привлечением JQ устанавливать colspan?

AciDWarrioR 17.02.2016 17:08

До

Как должно быть, не считая последней линии:
[
Итог:

AciDWarrioR 17.02.2016 17:11

laimas,
Друг, вот, честно, это проблемы не решит. Я переделаю это. Сейчас я просто делал заготовку и хотел посмотреть как это грамотно colspan разбить.
Вот твой ответ, он знаешь как выглядит, я тебе кричу, что у меня дома пожар, а ты мне зачем я дом возле леса строил...


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