Javascript jQuery-计算一个td中两个数字的和,并在新td中显示?
各位好,飞越者 我有以下代码:Javascript jQuery-计算一个td中两个数字的和,并在新td中显示?,javascript,jquery,html,Javascript,Jquery,Html,各位好,飞越者 我有以下代码: <table class="table"> <tbody> <tr> <td><a href="#">New thing</a></td> <td>2017/06/04 08:00</td> <td>&l
<table class="table">
<tbody>
<tr>
<td><a href="#">New thing</a></td>
<td>2017/06/04 08:00</td>
<td><a href="#">One Thing</a><span>Another thing</span></td>
<td class="random">R</td>
<td><a href="#">12-11 </a></td>
</tr>
<tr>
<td><a href="#">New thing</a></td>
<td>2017/06/04 08:00</td>
<td><a href="#">One Thing</a><span>Another thing</span></td>
<td class="random">R</td>
<td><a href="#">22-23 </a></td>
</tr>
</tbody>
</table>
2017/06/04 08:00
还有一件事
R
2017/06/04 08:00
还有一件事
R
在结果中,我想使用jQuery获得上一个表TD中的数字之和,并将其显示到新的TD中。类似于以下代码:
<table class="table">
<tbody>
<tr>
<td><a href="#">New thing</a></td>
<td>2017/06/04 08:00</td>
<td><a href="#">One Thing</a><span>Another thing</span></td>
<td class="random">R</td>
<td><a href="#">12-11 </a></td>
<td>[ 23 ]</td>
</tr>
<tr>
<td><a href="#">New thing</a></td>
<td>2017/06/04 08:00</td>
<td><a href="#">One Thing</a><span>Another thing</span></td>
<td class="random">R</td>
<td><a href="#">22-23 </a></td>
<td>[ 45 ]</td>
</tr>
</tbody>
</table>
2017/06/04 08:00
还有一件事
R
[ 23 ]
2017/06/04 08:00
还有一件事
R
[ 45 ]
先谢谢你
.each()
迭代所有tr
.text()
获取文本.append()
在tr
parseInt()
或parseFloat()
或Number()
//迭代表中的所有tr
$('.table tr')。每个(函数(){
//使用此上下文指向每个tr使用.last()获取最后一个td。
//使用.text()获取其文本
var tdval=$(this.find('td').last().text();
//使用split并使用索引0获取第一个值
var first=parseInt(tdval.split('-')[0])
//使用split并使用索引1获取第二个值
var second=parseInt(tdval.split('-')[1])
//使用append将td追加到显示两个数字之和的位置。
//append将把td放在最后
$(this.append(“+(第一次+第二次)+”)
})
2017/06/04 08:00
还有一件事
R
2017/06/04 08:00
还有一件事
R
.each()
迭代所有tr
.text()
获取文本.append()
在tr
parseInt()
或parseFloat()
或Number()
//迭代表中的所有tr
$('.table tr')。每个(函数(){
//使用此上下文指向每个tr使用.last()获取最后一个td。
//使用.text()获取其文本
var tdval=$(this.find('td').last().text();
//使用split并使用索引0获取第一个值
var first=parseInt(tdval.split('-')[0])
//使用split并使用索引1获取第二个值
var second=parseInt(tdval.split('-')[1])
//使用append将td追加到显示两个数字之和的位置。
//append将把td放在最后
$(this.append(“+(第一次+第二次)+”)
})
2017/06/04 08:00
还有一件事
R
2017/06/04 08:00
还有一件事
R
子项('td:last')
split(-)
$('table tr')。每个(函数(){
var a=$(this.children('td:last').text().trim().split('-'))
$(this).append(“”+(parseFloat(a[0])+parseFloat(a[1]))+“”)
})
表格,tr,td{
边框:1px实心;
}
2017/06/04 08:00
还有一件事
R
2017/06/04 08:00
还有一件事
R
子项('td:last')
split(-)
$('table tr')。每个(函数(){
var a=$(this.children('td:last').text().trim().split('-'))
$(this).append(“”+(parseFloat(a[0])+parseFloat(a[1]))+“”)
})
表格,tr,td{
边框:1px实心;
}
2017/06/04 08:00
还有一件事
R
2017/06/04 08:00
还有一件事
R
通过使用Vanilla JavaScript,可以通过以下3个步骤实现这一简单方法:
// 1.Get last td element from each tr element
var trsCollection = document.getElementsByTagName("tr");
var lastTd = [];
var tdSum = [];
var trs = Array.from(trsCollection)
trs.forEach(function(tr){
var tds = tr.getElementsByTagName("td");
lastTd.push(tds[tds.length-1]);
});
// 2.Calculate the sum of each last td element
lastTd.forEach(function(ltd){
var tdNumbers = ltd.textContent.trim().split("-");
var sum = 0;
tdNumbers.forEach(function(num){
sum = sum + Number(num);
});
tdSum.push(sum);
});
// 3.Add new td element to each tr parent
for (var i = 0; i < tdSum.length; i++) {
var newTd = document.createElement("td");
newTd.append(tdSum[i]);
trs[i].append(newTd);
};
//1.从每个tr元素中获取最后一个td元素
var trscolection=document.getElementsByTagName(“tr”);
var lastTd=[];
var tdSum=[];
var trs=Array.from(trsCollection)
trs.forEach(功能(tr){
var tds=tr.getElementsByTagName(“td”);
最后的推送时间(tds[tds.length-1]);
});
//2.计算最后每个td元素的总和
最后一次会议(功能(有限公司){
var tdNumbers=ltd.textContent.trim().split(“-”);
var总和=0;
tdNumbers.forEach(函数(num){
总和=总和+数字(num);
});
推送(sum);
});
//3.向每个tr父级添加新的td元素
对于(变量i=0;i
我希望这将有助于解决您的问题。使用Vanilla JavaScript可以通过以下三个步骤以这种简单的方式完成:
// 1.Get last td element from each tr element
var trsCollection = document.getElementsByTagName("tr");
var lastTd = [];
var tdSum = [];
var trs = Array.from(trsCollection)
trs.forEach(function(tr){
var tds = tr.getElementsByTagName("td");
lastTd.push(tds[tds.length-1]);
});
// 2.Calculate the sum of each last td element
lastTd.forEach(function(ltd){
var tdNumbers = ltd.textContent.trim().split("-");
var sum = 0;
tdNumbers.forEach(function(num){
sum = sum + Number(num);
});
tdSum.push(sum);
});
// 3.Add new td element to each tr parent
for (var i = 0; i < tdSum.length; i++) {
var newTd = document.createElement("td");
newTd.append(tdSum[i]);
trs[i].append(newTd);
};
$(document).ready(function(){
var a=$('tr td:last-child');
for(var i=0;i<a.length;i++){
var newElement = a[i].innerText.split('-').reduce(function(prev,curr){
return parseInt(prev) + parseInt(curr);
});
a[i].after("<td>"+newElement+"</td>");
}
});
//1.从每个tr元素中获取最后一个td元素
var trscolection=document.getElementsByTagName(“tr”);
var lastTd=[];
var tdSum=[];
var trs=Array.from(trsCollection)
trs.forEach(功能(tr){
var tds=tr.getElementsByTagName(“td”);
最后的推送时间(tds[tds.length-1]);
});
//2.计算最后每个td元素的总和
最后一次会议(功能(有限公司){
var tdNumbers=ltd.textContent.trim().split(“-”);
var总和=0;
tdNumbers.forEach(函数(num){
总和=总和+数字(num);
});
推送(sum);