Дело в том, что при удалении элемента массива через delete его длина не изменяется. То есть, последний элемент формально остается, но со значением undefined.
Для большинства операций над массивами в javascript существуют встроенные методы. Конкретно для удаления последнего элемента предназначен метод
pop. Задача решается так:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<p>Lorem ipsum dolor sit amet laborum</p>
<script>
$('p').on('click', function() {
var txt_array = $(this).html().split(' '); // делаю массив
txt_array.pop(); // удаляю последний элемент
var txt_string = txt_array.join(' '); // соединяю в строку
$(this).html(txt_string);
})
</script>
Подробней -
http://javascript.ru/Array