HTML之间的空白节点,会影响HTML排版,清除空白节点除了在定代码时注意,也可以通过JS清除:
为了重复利用,可以将它包装成一个函数:
function removeWhitespace(element) { var elem = $$.Dom.getNode(element) || document, cur = elem.firstChild, tmp, reg = /\S/;//这里最好将正则保存在一个变量里,如果在下面使用直接量,会造成一定的性能问题,直接量不是一个对象,所以它没有方法,系统在执行它时会临时包装一个空白对象,这样如果页面文件很大时,就会出现性能问题。 while (cur !== null) { tmp = cur.nextSibling; if (cur.nodeType === 3 && !reg.test(cur.nodeValue)) { elem.removeChild(cur); } else if (cur.nodeType === 1) { removeWhitespace(cur); } cur = tmp; } return elem; } removeWhitespace();