[英]How can I split table rows into 2 equal columns with JavaScript?
我有一個腳本,它將在表格行內創建一些鏈接並顯示它們。
$('#links').val('<class="sws_gen_links_table">' + links.join('\n'));
$('#linksContainer').show();
在顯示這些之前我想做的是將它們分成相等的 2 列並將它們添加到相應的 td. 像這樣的東西:
<table id="stylewithcss">
<tbody>
<tr>
<td class="This is the header of the table" colspan="2">ADD HEADER HERE</td>
</tr>
<tr>
<td>
Here goes the first part of the links.
</td>
<td>
Here goes the second part of the links.
</td>
</tr>
</tbody>
</table>
我在這里找到了類似的東西,但老實說,我真的不知道如何在我的情況下應用它(我是初學者)。 將單列轉換為多列
最簡單的解決方案是將其拆分為 2 個 arrays (類似這樣):
對於交替:
const links = ["link one", "link two", "link three", "link four", "link five", "link six", "link seven", "link eight", "link nine"]
const linksOne = []
const linksTwo = []
for (let i = 0; i < links.length; i++) {
const link = links[i]
if (i % 2 === 0) linksOne.push(link)
else linksTwo.push(link)
}
對於不交替:
const links = ["link one", "link two", "link three", "link four", "link five", "link six", "link seven", "link eight", "link nine"]
const mid = Math.ceil(links.length / 2)
const linksOne = links.slice(0, mid)
const linksTwo = links.slice(mid)
您可以嘗試將鏈接存儲到一個數組中,然后將數組的長度除以 2,並在第一列中顯示前半部分,在第二列中顯示后半部分。 如果長度是奇數,則將一個空字符串推入數組以使其偶數。 例如,
var links=["link1","link2","link3","link4"]; if(links.length % 2 == 1){ links.push(""); } var midpoint= links.length/2; var html='<tr><td class="" colspan="2">ADD HEADER HERE</td></tr>' for(i=0; i<midpoint; i++){ html+='<tr><td>'+links[i]+'</td><td>'+links[midpoint+i] + '</td></tr>'; } document.getElementById('stylewithcss').innerHTML = html;
<table id="stylewithcss"> </table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.