2012-05-14 2 views
0

Я работаю над приложением для загрузки изображений, где пользователи могут оценивать изображения.Считывание средних арифметических значений из тегов span

Когда три пользователя дали оценку изображению, html выглядит как код ниже, и я хочу, чтобы генерировать средние арифметические значения из разных параметров (состава, содержимого, техники) и показывать их пользователям ,

Я думаю, что мне нужно сделать следующее (при загрузке страницы):

  1. Получить значения из различных тегов пролетных и добавить их к различным переменным (состав, содержание и методика)
  2. Разделить значения из переменных с числом бигованных сообщений
  3. Append значения на страницу

Что мне нужно помочь, чтобы узнать, когда страница загружена, и как получить значения из разных тегов 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

Попробуйте это:

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

Несомненно.

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

Вы, вероятно, хотите, чтобы обернуть каждый счет в 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%, что математику вы хотели бы сделать), но есть хорошая отправная точка.

Смежные вопросы