Javascript 从具有特定类的每个元素中获取文本,然后将其相加

Javascript 从具有特定类的每个元素中获取文本,然后将其相加,javascript,Javascript,我正在尝试使用javascript进行一些计算。我基本上得到每个元素的文本和一个特定的类,把它转换成一个数字,然后把这些数字加起来。 到目前为止,我得到的是: <p class="item-size">1000</p> <p class="item-size">2000</p> 然而,这返回了NaN。有什么办法吗?var size=0,当您添加带有整数的字符串时,它将返回字符串并作为字符串计算。int+str=str 以下是ES5版本: con

我正在尝试使用javascript进行一些计算。我基本上得到每个元素的文本和一个特定的类,把它转换成一个数字,然后把这些数字加起来。 到目前为止,我得到的是:

<p class="item-size">1000</p>
<p class="item-size">2000</p>

然而,这返回了NaN。有什么办法吗?

var size=0
,当您添加带有整数的字符串时,它将返回字符串并作为字符串计算。int+str=str


以下是ES5版本:

const elements = document.getElementsByClassName("item-size");
const size = Object.keys(elements)
    .reduce((acc, curr) =>
        acc + parseInt(elements[curr].innerText.replace(/[^0-9.]/g, "")), 0)
console.log(size);

您需要一个数字作为目标变量

$(文档).ready(函数(){
var elements=document.getElementsByClassName(“项目大小”);

var size=0;//循环遍历一个元素的所有子元素,每增加一个元素的
textcontent

函数getSumOfClass(类名,根){ 如果(!(HTMLElement的根实例))root=document.body; return[].reduce.call(root.queryselectoral(“.”+className), (result,dom)=>result+(+dom.textContent | | 0),0); } log(getSumOfClass(“项目大小”);
500

1000


2000

使用javascript


1000

2000

//获取包含数字的文本 让items=document.getElementsByClassName(“项目大小”); 设和=0; //现在,对于数组中的每个元素 for(设i=0;i
由于大小最初是一个空字符串,因此加法不会像您预期的那样工作。将变量大小初始化为0。

这是一个简单的问题,但会让人沮丧!如果我需要乘法而不是加法,我假设我会执行大小*=parseInt((元素[i].innerText)。替换(/[^0-9.]/g,”));但是它返回0?那么您需要从一开始作为乘法的中性值。啊,谢谢!几分钟后将接受您的答案
var myTotal = 0;
for(var i = 0, len = size.length; i < len; i++) {
    myTotal += size[i][1];  
    console.log(myTotal);
}
const elements = document.getElementsByClassName("item-size");
const size = Object.keys(elements)
    .reduce((acc, curr) =>
        acc + parseInt(elements[curr].innerText.replace(/[^0-9.]/g, "")), 0)
console.log(size);