簡體   English   中英

用於HTML表的join()JS

[英]join() JS for HTML tables

我需要使用join()作為JS自己的方法來向這些數組中的值添加表格格式。 這是我要顯示兩個數組的示例,表布局應如下所示。

這是我的代碼一部分 不好地工作不正常,因為我在運行時得到了錯誤的“ L”表樣式格式。

我知道解析這樣的HTML看起來很糟糕,但是此代碼位於Google Apps腳本中,因此該表將通過電子郵件發送給它。

任何想法如何獲得正確的格式?

謝謝。

|-------|-------|
| user  | skill |
|-------|-------|
| user  | skill |
|-------|-------|

   body +=
      "<table style=" + STYLE.TABLE + ">" +

         outUsers.join("<tr><td style=" + STYLE.TD + ">") + "</td></tr>" +

         outSkills.join("<tr><td style=" + STYLE.TD + ">") + "</td></tr>" +

      "</table>";

在這種情況下, Array.prototype.join()不能完成我將使用Array.prototype.reduce()的工作。

這是它可能看起來的示例:

根據PHPglue注釋進行編輯,以使用戶和技能都位於同一行:

var body ='';
var outUsers = ['me', 'you', 'her'],
    outSkills = ['eating', 'sleeping', 'working hard'],
    STYLE = {
        TABLE: "border: red;",
        TD: "border: blue;"
    },
    getTR = function (prev, curr, index) {
        return prev + '<tr>' + openingTD + curr + '</td>' + openingTD + outSkills[index] + '</td></tr>';
    };

var openingTD = '<td style="' + STYLE.TD + '">';

body += '<table style="' + STYLE.TABLE + '">' +

         outUsers.reduce(getTR, '') +

        "</table>";

我認為這是您需要看到的:

var table = '<table><tbody>';
for(var i=0,l=outUsers.length; i<l; i++){
  table += '<tr><td>'+outUsers[i]+'</td><td>'+outSkills[i]+'</td></tr>';
}
table += '</tbody></table>';

您應該使用CSS樣式。 您也應該閱讀我在上面的評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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