Javascript 从具有特定类的每个元素中获取文本,然后将其相加
我正在尝试使用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
<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);