2015-12-29 56 views
1

我的表是這樣的:如何重新設計所有的表TD在TR行

<table> 
<tr> 
    <td> A-1 </td> 
    <td> A-2 </td> 
    <td> A-3 </td> 
    <td> A-4 </td> 
    <td> A-5 </td> 
    <td> A-6 </td> 
    <td> A-7 </td> 
    <td> A-8 </td> 
</tr> 
<tr> 
    <td> B-1 </td> 
    <td> B-2 </td> 
    <td> B-3 </td> 
    <td> B-4 </td> 
    <td> B-5 </td> 
    <td> B-6 </td> 
    <td colspan=2> B-7 </td> 
</tr> </table> 

它是這樣的:

A-1 A-2 A-3 A-4 A-5一-6 A-7 A-8

B-1 B-2 B-3 B-4 B-5 B-6 B-8

在頁面大小的一些變化我想該表更改爲如下表設計:

<table> 
<tr> 
    <td> A-1 </td> 
    <td> A-2 </td> 
</tr> 
<tr> 
    <td> A-3 </td> 
    <td> A-4 </td> 
</tr> 
<tr> 
    <td> A-5 </td> 
    <td> A-6 </td> 
</tr> 
<tr> 
    <td> A-7 </td> 
    <td> A-8 </td> 
</tr> 
<tr> 
    <td> B-1 </td> 
    <td> B-2 </td> 
</tr> 
<tr> 
    <td> B-3 </td> 
    <td> B-4 </td> 
</tr> 
<tr> 
    <td> B-5 </td> 
    <td> B-6 </td> 
</tr> 
<tr> 
    <td colspan=2> B-7 </td> 
</tr> </table> 

這是這樣的:

A-1 A-2

A-3 A-4

A-5 A-6

..

B-7

我不確定這是否可以用CSS或JavaScript來完成。

+0

怎麼辦! – brk

+0

爲什麼你使用表而不是divs有一個特別的原因嗎?表格很難做出反應 - 在我看來,divs會更容易。如果你不得不繼續使用表格,這將是一個主要的JS解決方案。 – Ewald

+0

你是表靜態還是你有A1,A2,A3 ....存儲在數組中? – ozil

回答

2

使用.querySelectorAll("#table1 td")選擇所有td,然後用[].forEach.call,這樣可以遍歷一個元素列表,和球泡新表。你想設計的表

var x = document.querySelectorAll("#table1 td"); 
 
var _html = "<table>"; 
 
[].forEach.call(x, function(el, i) { 
 
    if(i%2==0) _html += "<tr>"; 
 
    _html += el.outerHTML; 
 
    if(i%2==1) _html += "</tr>"; 
 
}); 
 

 
_html += "</table>"; 
 

 
alert(_html); 
 

 
document.write(_html);
<table id="table1"> 
 
    <tr> 
 
    <td>A-1</td> 
 
    <td>A-2</td> 
 
    <td>A-3</td> 
 
    <td>A-4</td> 
 
    <td>A-5</td> 
 
    <td>A-6</td> 
 
    <td>A-7</td> 
 
    <td>A-8</td> 
 
    </tr> 
 
    <tr> 
 
    <td>B-1</td> 
 
    <td>B-2</td> 
 
    <td>B-3</td> 
 
    <td>B-4</td> 
 
    <td>B-5</td> 
 
    <td>B-6</td> 
 
    <td>B-7</td> 
 
    <td>B-8</td> 
 
    </tr>

+0

將document.write刪除整個頁面的內容? – Roberto

+0

@Roberto如果內容被完全加載,它會打開一個新文檔,看起來像前一個被擦除,否則它只是逐行寫入。 document.wrie主要用於測試目的。 – void

+0

@void感謝您的快速代碼,如果您注意到我在第二個tr中有最後一個td但您的代碼沒有涵蓋那個也是document.write刪除所有html頁面內容,並且這不應該發生 – user1010941