спасайте
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 разметка не помешала извлечению числа из строкового значения.
Также можно добавить к тегам 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…
Тогда точно лишний текст не попадет в вычисления.