Помогите найти ошибку в js
Подскажите, в чем ошибся. Нужно взять число из элемента span, удалить все пробелы, прибавить другое число и снова поставить пробелы (разделители разрядов).
jQuery(document).ready(function() {
setInterval(function() {
var text = jQuery('span').text().split(' ').join('');
text = Number(text) + 1;
text = text.toLocaleString('ru-RU');
jQuery('span').text(text);
}, 1000);
});
https://jsfiddle.net/sdjtzxao/
На втором шаге в span записывается строка "Не число".
Ответы (1 шт):
Автор решения: Alexey Ten
→ Ссылка
text.toLocaleString('ru-RU') вставляет не обычный пробел, а неразрывный (который в HTML). Поэтому split(' ') его не видит.
Проще просто поменять split(' ').join('') на replace(/[^0-9]/g, '') который оставит в строке только цифры.
var text = jQuery('span').text().replace(/[^0-9]/g, '');
Либо хранить число отдельно от его представления.
Например в атрибутах data-... https://jsfiddle.net/byzeatmh/