簡體   English   中英

如何使用 JavaScript 將表行拆分為 2 個相等的列?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM