0

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

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

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

  1. 从不同的 span 标签中获取值并将它们添加到不同的变量(组成、内容和技术)
  2. 将变量中的值除以得分帖子的数量
  3. 将值附加到页面

我需要帮助的是找出页面何时加载,以及如何从不同的 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>
4

2 回答 2

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);
于 2012-05-14T16:32:09.907 回答
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% 你想做什么数学),但有一个很好的起点。

于 2012-05-14T16:30:47.460 回答