Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将div值的集合转换并添加到整数_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 将div值的集合转换并添加到整数

Javascript 将div值的集合转换并添加到整数,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我在一个页面上有各种评级值;我想得到平均评分,但是,我认为效果并不理想 <div class = "ratings">1</div> <div class = "ratings">5</div> <div class = "ratings">3</div> <div class = "ratings">2</div> 1 5. 3. 2. 我想把这些评分加起来,找出平均值 function ove

我在一个页面上有各种评级值;我想得到平均评分,但是,我认为效果并不理想

<div class = "ratings">1</div>
<div class = "ratings">5</div>
<div class = "ratings">3</div>
<div class = "ratings">2</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)
       }
}
function overallRating()
{
var items=document.getElementsByClassName(“评级”);
var itemCount=items.length;
var总和=0;
对于(变量i=0;i
sum
的控制台日志返回
NaN


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

div
没有名为
value
的属性(只有
input
s有)。改用
textContent
。更改此项:

sum += parseInt(items[i].value);
为此:

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

您可能需要使用
textContent
检索
div
的文本

sum += parseInt(items[i].textContent);
要简单地检索平均值,请在for循环后插入下面的代码

return sum / itemCount;

使用
.innerText
代替
.value
,并在使用前进行修剪;)

function overallRating(){
var items=document.getElementsByClassName(“评级”);
var itemCount=items.length;
var总和=0;
对于(变量i=0;i
1
5.
3.
2.

OP还询问了
sum
@guest271314的平均值。我打赌OP已经知道如何计算平均值。为什么这个问题会结束?这个问题是如何导致的——这个问题是由一个无法复制的问题或一个简单的印刷错误引起的@OusmaneMahyDiaw每个用户都可以通过“投票”随心所欲。从逻辑上讲,它不是。可能有人会争辩说,
.textContent
对于
.value
的替代可以忽略不计。返回的
sum
平均值的完全省略在逻辑上不能被证明是一个问题,如果继续省略返回
sum
@guest271314的平均值,则可以纠正这个问题。实际上,每个用户都可以随心所欲地进行“投票”,这样做应该有一个合理的理由,而不是因为他们喜欢他们的“投票”。“应该是”不存在。对于“投票”的评估,“有效”应限于第一次是否允许“投票”,第二次是否“自由”。@guest271314我想如果“关闭”使其重新打开,我将不得不与该案例作斗争,并且必须再次向元站点强调这一点。应该认真对待接近票数的选票,而不是像他们所希望的那样进行“投票”。
 sum += parseInt(items[i].innerText.trim());