Javascript 如何访问计算器的p标记值

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

我想访问两个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="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个答案已经发布的通知