0

私は、ユーザーが画像を採点できる画像アップロード用のアプリケーションに取り組んでいます。

3人のユーザーが画像にスコアを付けた場合、htmlは次のコードのようになります。私がやりたいのは、さまざまなパラメーター(構成、コンテンツ、手法)から算術平均値を生成し、それらをユーザーに表示することです。

私は次のことをする必要があると思います(ページがロードされたとき):

  1. さまざまなスパンタグから値を取得し、それらをさまざまな変数(構成、コンテンツ、および手法)に追加します
  2. 変数からの値をスコア投稿の数で割ります
  3. ページに値を追加します

私が助けを必要としているのは、ページがいつロードされたか、そしてさまざまなスパンタグから値を取得する方法を見つけることです。

前もって感謝します!

    <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 に答える