Javascript 如何访问计算器的p标记值
我想访问两个p标签的内容,并将它们添加到总数中 以下是html:Javascript 如何访问计算器的p标记值,javascript,jquery,html,Javascript,Jquery,Html,我想访问两个p标签的内容,并将它们添加到总数中 以下是html: <div id="carresult"><p id="caranswer" class="answer"></p><div class="result"> tons CO<sub>2</sub></div> </div> <div id="pubresult"><p id="pubresult
<div id="carresult"><p id="caranswer" class="answer"></p><div class="result"> tons CO<sub>2</sub></div> </div>
<div id="pubresult"><p id="pubresults" class="answer"> </p><div class="result"> tons CO<sub>2</sub></div></div>
<button type="button" id="groundbut">Add to total</button>
<div id="ground"><p id="groundtotal" class="answer"></p><div class="result"> tons CO<sub>2</sub></div></div>
你其实很接近,你失踪了 htmlvalue是一个字符串,两个字符串不相加(如数学),而是concat:
'123' + '123' = '123123' (type is string)
parseInt('123') + parseInt('123') = 246 (type is integer)
在您的代码中:
$("#groundtotal").html( parseInt($("#caranswer").text()) + parseInt($("#pubresults").text()) );
要完成回答,如果您在严格模式下工作,则需要定义您在10位数系统中工作(因为二进制数是2):
你其实很接近,你失踪了 htmlvalue是一个字符串,两个字符串不相加(如数学),而是concat:
'123' + '123' = '123123' (type is string)
parseInt('123') + parseInt('123') = 246 (type is integer)
在您的代码中:
$("#groundtotal").html( parseInt($("#caranswer").text()) + parseInt($("#pubresults").text()) );
要完成回答,如果您在严格模式下工作,则需要定义您在10位数系统中工作(因为二进制数是2):
更改:
$("#groundtotal").html($("#caranswer").text()+$("#pubresults").text());
到
更改:
$("#groundtotal").html($("#caranswer").text()+$("#pubresults").text());
到
要将字符串(例如段落文本)解析为数字,请使用parseInt()
。这将返回一个数字,当添加到另一个数字时,该数字的行为正确
查看MDN:要将字符串(例如段落文本)解析为数字,请使用parseInt()
。这将返回一个数字,当添加到另一个数字时,该数字的行为正确
查看MDN:假设您有jQuery,请尝试:
$("#groundbut").click(function(){
$("#groundtotal").html(parseFloat($("#caranswer").text())+parseFloat($("#pubresults").text()));
});
假设您有jQuery,请尝试:
$("#groundbut").click(function(){
$("#groundtotal").html(parseFloat($("#caranswer").text())+parseFloat($("#pubresults").text()));
});
只要您添加类结果并使用p标记,此选项将处理更多输入
$("#groundbut").click(function(){
var sum = 0;
$("p.answer").each(function(i, item){
var text = $(item).text();
if (text!= '')
{
sum+=parseInt(text);
}
});
$('#groundtotal').text(sum);
});
只要您添加类结果并使用p标记,这个将处理更多的输入
$("#groundbut").click(function(){
var sum = 0;
$("p.answer").each(function(i, item){
var text = $(item).text();
if (text!= '')
{
sum+=parseInt(text);
}
});
$('#groundtotal').text(sum);
});
只是好奇,为什么你回答这个问题(也没有指导性的文字),而其他4篇帖子都在说同样的事情?没有评判,只是提问。@Martijn我准备答案的速度很慢,当我发布答案时,我收到了其他3个答案被发布的通知。只是好奇,为什么你回答了这个问题(也没有指导文本),而其他4个帖子说了完全相同的事情?没有评判,只是提问。@Martijn我准备答案的速度很慢,当我发布答案时,我收到了另外3个答案已经发布的通知