Помогите нубу по задачке js, придайте + к карме)

спасайте

console.log(span1)
console.log(span2)
console.log(span1 - span2)

!!!

В переменных span1 и span2 соответственно записаны строковые значения. Поэтому математическая разница этих значений не получается. Перед математическими действиями надо преобразовать строковое значение в числовое с помощью parseInt если число в строке целое, и parseFloat, если число с точкой.
Итого решение выглядит так:

var span1 = parseFloat($('.main-valeu').text())
var span1 = parseFloat($('.sebest').text())
var differ = span1 - span2

От себя добавлю что гибче использовать метод .text, чем .html, чтобы случайная html разметка не помешала извлечению числа из строкового значения.

1 лайк

Также можно добавить к тегам span атрибут data-… и поместить туда значения, например:
<span data-value1="100" class="main-value">number: 100</span>
<span data-value2="50" class="sebest">number: 50</span>
var span1= parseFloat($(’.main-valeu’).data(‘value1’));
var span2 = parseFloat($(’.sebest’).data(‘value2’));
// your code…
Тогда точно лишний текст не попадет в вычисления.