Надо бы, чтобы одновременно пробелы превращались в <br>, и первая буква становилась заглавная.
$(this).html(s.charAt(0).toUpperCase()+s.substr(1).toLowerCase());
$(this).html(s.replace(/\s/g, "<br>"));
По одиночке работают. Если оба в функции - срабатывает только последний.
https://jsfiddle.net/Nata_Hamster/ywk85hpq/1/
Проблема в том, что вторым присвоением ты редактируешь не то что у тебя было в первой строке, а то что ты получил с функции.
s = s.charAt(0).toUpperCase()+s.substr(1).toLowerCase();
$(this).html(s.replace(/\s/g, "<br>"));
ну или просто в одну строку всё сделать
$(this).html(s.charAt(0).toUpperCase()+s.substr(1).toLowerCase().replace(/\s/g, "<br>"));
Потому что строка не сохраняется, нужно либо сохранить результат в переменную и уже работать с ней дальше, либо сразу реплейсить через точку
$(this)
.html(
(s.charAt(0).toUpperCase()+s.substr(1).toLowerCase())
.replace(/\s/g, "<br>")
);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости