По хорошему, такое надо делать на стороне сервера, с кешированием. т.к. в js мы рискуем потерять привязку событий к элементам, да и не уверен, что это будет отзывчиво и без бликов всяких.
Есть на гитхабе готовое решение, не очень быстрое, но под вашу задачу подходит отлично.
findAndReplaceDOMText
Использовать вот так
findAndReplaceDOMText(document.getElementById('txt'), {
find: /\d+/g, // искомая строка
wrapClass: 'myclass', // класс элемента, в который будем оборачивать текст
wrap: 'span' // название тега, в который будем оборачивать текст.
});
живой пример
jsfiddle.net/er0w4nxm/1