});
nativeNode.normalize();
$(nativeNode).find('*').each(function() {
- if (this.childNodes.length === 0) {
+ var emptyNode = this.childNodes.length === 0;
+ var endsWithSpan = !emptyNode && this.childNodes[this.childNodes.length - 1].nodeName.toLowerCase() === 'span';
+ if(emptyNode || endsWithSpan) {
var fakeTextNode = window.document.createTextNode("");
this.appendChild(fakeTextNode);
}
elParent = el.parent(),
hasSpanParent = elParent.prop('tagName') === 'SPAN',
hasSpanBefore = el.prev().length && $(el.prev()).prop('tagName') === 'SPAN',
- hasSpanAfter = el.next().length && $(el.next()).prop('tagName') === 'SPAN',
- onlyChild = el.is(':only-child');
+ hasSpanAfter = el.next().length && $(el.next()).prop('tagName') === 'SPAN';
var addInfo = function(toAdd, where, transformed, original) {
}
}
- if(!text.transformed && !onlyChild) {
+ if(!text.transformed && !(el.is(':only-child') || (el.is(':last-child') && hasSpanBefore))) {
addInfo(text.original, 'below');
el.remove();
return true; // continue