if(this._isEmpty(node)){ var remove = false; if(node.parentNode.firstChild == node){ node.parentNode.removeChild(node); } }else{ var children = node.parentNode.childNodes; if(node.nodeType == 1 && children.length > 2){ for(var i = 2, child; child = children[i]; i++){ if(children[i - 2].nodeType == 1 && this._isEmpty(children[i - 1])){ node.parentNode.removeChild(children[i - 1]); return; } } } }