我一直在试图找出如何使用一列数据附加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;
});
这是我一直在努力的小提琴。
我以为我可以将数组值嵌入到每个函数中,但它无法正常工作。我似乎无法找到任何其他例子来让它发挥作用。
如果可以在不首先转换为数组的情况下使用表中的值,那就更好了。
列中的td值(工作将在具有值的所有列上完成)需要对其进行一些数学函数。所以它取td值* f(x)然后将该值放在与右侧新列中的原始值相同的行上。
任何帮助将不胜感激。
答案 0 :(得分:1)
将标题的列插入<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
。
抱歉我的英语不好。