JQuery - 根据数组数据将 html 表列添加到表的末尾

JQuery - Adding an html table column to end of table based on array data

本文关键字:添加 html 数组 数据 JQuery      更新时间:2023-09-26

>我一直在试图弄清楚如何在 html 表后附加一列数据。 将单击一个按钮,该按钮将获取表中的现有数据列,保存到数组中,然后对其进行一些数学运算,然后将其吐出作为表中的最后一列。

这是我一直在尝试的代码:

var c = $("#dvCSV tr:nth-child(2) td").length;//find number of columns in the table
var myArray = new Array();
$("#dvCSV tr td:nth-child(3)").each(function(i){
   myArray.push($(this).text());
});
myArray.splice(0,1);
$("#dvCSV tr:first").append("<td>Th</td>");
var n=0;
$('#dvCSV').find('tr').each(function(){
    myArray[n]= "<td>" + (myArray[n]*0.01) + "</td>";
    $(this).append(MyArray[n]);
    n=n+1;
});

这是我一直在做的一个小提琴。

JSFiddle

我以为我可以将数组值嵌套到 each 函数中,但它无法正常工作。 我似乎找不到任何其他例子来让它工作。

如果可以在不先转换为数组的情况下处理表中的值,那就更好了。

一列中的 td 值(将在所有有值的列上完成工作)需要对其进行一些数学函数处理。 因此,它采用该 td 值 * f(x),然后将该值与右侧新列中的原始值放在同一行上。

任何帮助将不胜感激。

标题的列插入<thead>标签中,将其他行插入<tbody>标签中,以实现对DOM的最佳操作。

可以使用$("tag")句子创建元素;对于插入新标题,可以使用:

var tdHeadNode = $("<td/>");
    tdHeadNode.html("Th");
$("#dvCSV thead tr").append(tdHeadNode);

要为其他行插入其他数据,可以使用:

$("#dvCSV tbody tr td:nth-child(3)").each(function(){
     var tdNode = $("<td/>");
    tdNode.html(this.innerHTML * 0.01);
    $(this).parent().append(tdNode);
});

方法html返回或设置值内部标记,方法parent返回父节点,在这种情况下,tr当前td

对不起,我的英语不好。