Skip to content

Instantly share code, notes, and snippets.

@padolsey
Created December 21, 2009 16:14
Show Gist options
  • Save padolsey/261022 to your computer and use it in GitHub Desktop.
Save padolsey/261022 to your computer and use it in GitHub Desktop.
// Clears white-space text nodes...
// TODO: check CSS white-space property instead of "pre" nodeName.
function clearWSNodes(ctx) {
ctx = ctx || document;
var node = ctx.firstChild,
oNode,
prnt,
dlt = true;
while ( node ) {
if ( node.nodeType === 3 && !/\S/.test(node.data) ) {
prnt = node;
while ( prnt = prnt.parentNode ) {
if ( /^pre$/i.test(prnt.nodeName) ) {
dlt = false;
break;
}
}
node = (oNode = node).nextSibling;
if ( dlt ) {
oNode.parentNode.removeChild(oNode);
}
} else {
if ( node.nodeType === 1 ) {
clearWSNodes(node);
}
node = node.nextSibling;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment