转换并将一组div值添加到整数中

8 浏览
0 Comments

转换并将一组div值添加到整数中

我在页面上有各种评分值;我想要得到平均评分,然而,我认为会起作用的方法目前还没有。

1
5
3
2

我想要对这些评分求和并找出平均值。

function overallRating()
{
       var items = document.getElementsByClassName("ratings");
       var itemCount = items.length;
       var sum= 0;
       for(var i = 0; i < itemCount; i++)
       {
            sum += parseInt(items[i].value);
            console.log(sum)
       }
}

控制台输出的sum返回NaN

有人能告诉我我哪里出错了吗?

0
0 Comments

问题的出现原因是在JavaScript代码中,使用了错误的属性来获取div元素的值。应该使用innerText属性来获取div元素的文本内容,而不是value属性。此外,在使用前应该先去除文本内容的空格。

解决方法是将代码中的.items[i].value改为.items[i].innerText,并在后面加上.trim()以去除空格。修改后的代码如下:

sum += parseInt(items[i].innerText.trim());

这样就可以将div元素的值转换为整数并将其添加到sum变量中。

下面是完整的修改后的代码:

function overallRating() {
  var items = document.getElementsByClassName("ratings");
  var itemCount = items.length;
  var sum = 0;
  for (var i = 0; i < itemCount; i++) {
    sum += parseInt(items[i].innerText.trim());
    console.log(sum)
  }
}

同时,HTML代码中的元素应该调用overallRating函数,而不是传递this参数。修改后的代码如下:

1
5
3
2

这样就可以正确地将一组div元素的值转换为整数并将它们相加。

0
0 Comments

问题:将一组

元素的值转换为整数并求和的方法。

原因:原始的

元素的值是字符串形式,需要将其转换为整数进行求和。

解决方法:使用textContent方法来获取

元素的文本内容,然后使用parseInt()方法将文本内容转换为整数,并使用累加器sum将所有元素的值相加。

代码示例:

var items = document.getElementsByTagName("div");
var sum = 0;
for (var i = 0; i < items.length; i++) {
  sum += parseInt(items[i].textContent);
}
function getAverageValue() {
  var itemCount = items.length;
  return sum / itemCount;
}

以上代码将会将一组

元素的值转换为整数并求和,然后通过getAverageValue()函数返回求平均值。

0
0 Comments

问题的原因是代码中使用了错误的属性名value,而div元素并没有value属性。解决方法是使用正确的属性textContent来获取div元素的内容。将代码中的value替换为textContent即可解决问题。

同时,OP还要求计算sum的平均值。至于如何计算平均值,我相信OP已经知道了。

0