如何从Javascript中的表的列创建数组?

时间:2019-07-01 18:06:28

标签: javascript

我有一个这样的HTML表格:

       SALES            RENTS    
    ROME   MILAN      ROME   MILAN    MONEY

HTML代码如下:

<TR>
<TD CLASS=HD1 COLSPAN=2>SALES</TD>
<TD CLASS=HD1 COLSPAN=2>RENTS</TD>
<TD CLASS=HDCOLSEP>&nbsp;</TD>
</TR>
<TR>
<TD>ROME</TD>
<TD>MILAN</TD>
<TD>ROME</TD>
<TD>MILAN</TD>
<TD>MONEY</TD>
</TR>

我需要的是用javascript创建一个像这样的数组:     (ROME-SALES,MILAN-SALES,ROMA-RENTS,MILAN-RENTS,MONEY)。

我已经创建了包含第一行元素的数组。 在下面,您可以像过去一样找到我的代码(开始时,我只需要获取第一个TR的元素)。现在,我需要对其进行修改,并按照之前指定的方式创建一个数组。 我不知道从表中是否可以看到,但是第一个ROME和MILAN列被称为SALES列,第二个ROME和MILAN则被称为RENTS列,而MONEY没有任何依赖性。  你有什么想法吗? 预先感谢。

 function getColumnsVal(id) {
    var header = $("table#" + id + " thead tr:eq(1)");
    var header_fields = $("td", header);
    var header_vals = [];
    header_fields.each(function(idx, val) {
          var $$ = $(val);
          header_vals.push($$.text());
    });
     return header_vals;
  }

1 个答案:

答案 0 :(得分:0)

从表单元格中读取值绝对是可能的。我对帖子进行了一些编辑以说明代码。

我认为HTML结构是严格的,FILE*中总是有两行标题,而第一行中的合并单元格的数量却是随机的。

您要匹配两行中的列数,即遍历单元格时要考虑colspan编号。

读取两行并通过组合相应列中的单元格值来生成字符串。 例如:

thead

JSFiddle: https://jsfiddle.net/adanchenkov/n61dqfrs/