I need to select elements without child node (including text since in text is a child node).
I used empty, but it also consider
empty
I think you can try this:
$('span').filter(function() { return !this.innerHTML.replace(/\s/g,'').length; });
DEMO