Jquery 我想将一个值计算到一个表中,但它只给出一列的结果

Jquery 我想将一个值计算到一个表中,但它只给出一列的结果,jquery,Jquery,我想使用each()、eq()和text()将jQuery中的一个值计算到一个表中。我的代码只给出一列的结果 $(“#btn”)。单击(函数(){ $(“tr”)。每个(函数(){ var num1=$(“td”).eq(0).text(); var num2=$(“td”).eq(2).text(); var rslt=parseFloat(num1)+parseFloat(num2); $(“td”).eq(4).文本(rslt); }); }); *{} div{ 宽度:500px; 高

我想使用
each()
eq()
text()
将jQuery中的一个值计算到一个表中。我的代码只给出一列的结果

$(“#btn”)。单击(函数(){
$(“tr”)。每个(函数(){
var num1=$(“td”).eq(0).text();
var num2=$(“td”).eq(2).text();
var rslt=parseFloat(num1)+parseFloat(num2);
$(“td”).eq(4).文本(rslt);
});
});
*{}
div{
宽度:500px;
高度:300px;
背景:浅灰色;
}
.表tr td,
th{
边框:1px纯黑;
利润率:10px;
填充:10px
}
.桌子{
边界塌陷:塌陷;
文本对齐:居中;
}
th{
背景:浅绿色
}
运输署{
背景:浅蓝色
}

#目标
Num1
操作工
Num2
等于
答复
42
+ 
12
= 
? 
15
+ 
87
= 
?
102
+ 
25
= 
?

计算
代码的问题是因为您在单个jQuery对象中选择了所有
td
。当您尝试更新集合的文本时,jQuery将只更新该集合中的第一个元素

要解决此问题,您需要修改代码,在循环中的
tr
中找到
td
。为此,您可以使用
this
关键字在迭代中引用
tr
,然后使用
find()
。试试这个:

$(“#btn”)。单击(函数(){
$(“tr”)。每个(函数(){
让$tr=$(这个);
设num1=$tr.find(“td:eq(0)”).text();
设num2=$tr.find(“td:eq(2)”).text();
设rslt=parseFloat(num1)+parseFloat(num2);
$tr.find(“td:eq(4)”).text(rslt);
});
});
div{
宽度:500px;
高度:300px;
背景:浅灰色;
}
.表tr td,
th{
边框:1px纯黑;
利润率:10px;
填充:10px
}
.桌子{
边界塌陷:塌陷;
文本对齐:居中;
}
{背景:浅绿色;}
td{背景:浅蓝色;}

Num1
操作工
Num2
等于
答复
42
+
12
=
?
15
+
87
=
?
102
+
25
=
?

计算
请在问题中填写所有相关代码。使用代码段编辑器(
[]
按钮)创建一个工作示例抱歉,我只是新来的,仍然在尝试在平台上获取尽可能多的信息,我知道我会对这条评论以及几年后我发布问题的方式发笑。我们都在这里学习。谢谢你,我的朋友,我真的很感激你的帮助,就像我对你以前的建议所做的那样。我在下面的评论中回复了我的问题,你可以看一下并帮我解决。谢谢使用问题下方的
编辑
按钮添加代码,不要将其放入答案中。在这种情况下,我是为你做的。我建议你删除你添加的答案。谢谢你,我的朋友,我真的很感激@Rory McCrossan我希望你今天休息得很好。你知道Rory!我还有一个问题,但我不想浪费你的时间。我不明白这个($tr)如果你能给我发一个视频来解释这会很棒,我不想通过向我解释来打扰你。谢谢RoryOps,我只是想跳到另一行,然后消息被发送了,对不起,
$tr
只是一个变量名。
$
前缀是一种命名约定,表示变量包含jQuery对象,而不是字符串、int或任何其他类型。现在完全清楚了,非常感谢我的朋友,所有答案都很有用。在这个平台上有没有类似于跟踪或速率的东西,我想确保我在跟踪你,先生。