计算span标记的算术平均值

时间:2012-05-14 16:25:17

标签: jquery html average

我正在开发一个图像上传应用程序,用户可以对图像进行评分。

当三个用户给图像分数时,html看起来像下面的代码,我想要做的是从不同的参数(成分,内容,技术)生成算术平均值并将其显示给用户。

我想我需要执行以下操作(页面加载时):

  1. 从不同的span标签中获取值,并将它们添加到不同的变量(组合,内容和技术)
  2. 将变量中的值除以得分数
  3. 将值附加到页面
  4. 我需要帮助的是找出页面加载的时间,以及如何从不同的span标记中获取值。

    提前致谢!

        <div id="scores">
            <strong>User1</strong>
            <span class="composition">1</span>
            <span class="content">2</span>
            <span class="technique">3</span>
    
            <strong>User2</strong>
            <span class="composition">1</span>
            <span class="content">3</span>
            <span class="technique">4</span>
    
            <strong>User3</strong>  
            <span class="composition">4</span>
            <span class="content">5</span>
            <span class="technique">4</span>
        </div>
    

2 个答案:

答案 0 :(得分:2)

试试这个:

function calc(calcValue){
    var result = 0, count = 0;
    var selector = "." + calcValue;
    jQuery(selector).each(function(){ 
         var strValue = jQuery(this).text();
         result += parseInt(strValue);
         count++;
    });
    return result / count;
}

var composition = calc("composition");
var content = calc("content");
var technique = calc("technique");

alert("composition = " + composition);
alert("content = " + content);
alert("technique = " + technique);

答案 1 :(得分:1)

不确定

var somevalue = $('.composition').innerText();

您可能希望将每个分数包装在具有唯一ID的div中,以便跟踪您的“得分”。

然后就像......

$('.score').each(function(){
   // Loop through each element with a class of "score".

 var compositionScore = $(this).find('#composition').innerText();
 ........ 
 // do some math or something.
});

我不会为你写出代码(甚至不确定100%你想做什么数学运算),但是有一个很好的起点。