Проблема в том, что объекты jQuery обертывают узлы DOM.Каждое слово в элементе не является самим DOM-узлом, поэтому вам нужно немного больше поработать, чтобы разбить текст и присоединиться к нему.Вам также необходимо учитывать несколько узлов, выбранных jQuery.Попробуйте это:
$('.side-c h3').each(function(index, element) {
var heading = $(element), word_array, last_word, first_part;
word_array = heading.html().split(/\s+/); // split on spaces
last_word = word_array.pop(); // pop the last word
first_part = word_array.join(' '); // rejoin the first words together
heading.html([first_part, ' <span>', last_word, '</span>'].join(''));
});