私は平均的な評価をしようとしています。 jQueryの最初の部分はプログレスバーのアニメーション用で、2番目の部分はレビューの平均を取得するためのものです。しかし、私のconsole.log
は私にNaN
を与え、私はなぜそれを知りません。平均jquery NaN
var avg = 0;
var amount = 0;
$(".review").each(function() {
var progres = $(".progress-bar");
progres.each(function() {
avg = avg + parseInt($(".aria-valuenow").text());
amount = amount + 1;
});
});
avg = avg/amount;
console.log(avg);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="review">
<span class="progressText"><B>review 1</B></span>
<div class="progress">
<div class="progress-bar w-75" role="progressbar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="progressText"><B>review 2</B></span>
<div class="progress">
<div class="progress-bar w-75" role="progressbar" aria-valuenow="35" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<p class="avg"></p>
</div>
クラスには「.aria-valuenow」という要素はありません。単一の 'each()'ループで必要なものを達成することもできます –
'.each()'ループは、ループしている要素を使用していません。 – Barmar
このコード全体でループが多すぎます – charlietfl