2013-07-24 2 views
1

Я создаю таблицу с javascript. Я хочу, чтобы в моей таблице было 4 ячейки в одной строке, поэтому 5-я ячейка будет в новой строке.javascript, как добавить строку каждую четвертую ячейку?

Если у меня есть 10 объектов для отображения на ячейках, у меня будет 2 полных строки и 1 строка только с 2 ячейками.

вот код, который у меня есть. Есть идеи??

var a = { style: ["1","2","3","4", "5","6"]}; 

var oldTable = document.getElementById('example'), 
newTable = oldTable.cloneNode(); 

var b = a.style.length; 
for (var i= 0; i <= 4; i++){ 
    if (b >= 4) { 
    var tr = document.createElement('tr'); 

     var k = ""; 
    for(var j = 0; j < b; j++) { 
     var td = document.createElement('td'); 
     var div = document.createElement('div'); 
     div.style.width="175px"; 
     div.style.height="250px"; 

     div.appendChild(document.createTextNode(a.style[k++])); 
     td.appendChild(div); 
     tr.appendChild(td); 
      } 
    } 
newTable.appendChild(tr); 
} 
oldTable.parentNode.replaceChild(newTable, oldTable); 
+2

Какая ошибка или проблема? То есть как это ломается? – jsalonen

+0

это только копирует первую ячейку и имеет 6cells вместо добавления новой строки ... – wisleans

+0

Знаете ли вы, что вам не хватает одного '}'? Попробуйте вставить свой код правильно - после этого его гораздо проще обнаружить! – jsalonen

ответ

0

Удалите внешний контур целиком, а также if. Тогда вам в основном просто нужно:

if(j%4 == 0 && j != 0){ 
    newTable.appendChild(tr); 
    tr = document.createElement('tr');   
} 

Это начало новой строки каждые 4 записи.

http://jsfiddle.net/X5g2p/1/

+0

работает отлично !! благодаря! – wisleans

+0

следующий вопрос! это создало бы строки под строкой. есть ли способ решить это? – wisleans

+0

Я не уверен, что вы подразумеваете под строками под строкой. Я сделал небольшое изменение, чтобы избежать создания первой пустой строки. –

Смежные вопросы