清除HTML之间的空白节点

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();

 

 

 

你可能感兴趣的:(HTML,Javascript)