精通JavaScript 纠正 cleanWhitespace函数


Posted in Javascript onMarch 11, 2010
function cleanWhitespace(element){ 
//如果不提供参数,则处理整个HTML文档 
element = element || document; 
//使用第一个子节点作为开始指针 
var cur = element.firstChild; 
//临时变量用来保存当前节点的下个节点 
var tmp; 
//一直到没有子节点为止 
while (cur != null){ 
//保存当前节点的下个节点 
tmp=cur.nextSibling 
//如果节点为文本节点,应且包含空格 
if ( cur.nodeType == 3 && ! /\S/.test(cur.nodeValue)){ 
//删除这个文本节点 
element.removeChild( cur ); 
//否则,它就是一个元素 
} else if (cur.nodeType == 1){ 
//递归整个文档 
cleanWhitespace( cur ); 
} 
cur = tmp;//遍历子节点 
} 
}

还转一个可以用的
function cleanWhitespace2(node) { 
var notWhitespace = /\S/; 
for (var i=0; i < node.childNodes.length; i++) { 
var childNode = node.childNodes[i]; 
if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) { 
node.removeChild(node.childNodes[i]); 
i--; 
} 
if (childNode.nodeType == 1) { 
cleanWhitespace2(childNode); 
} 
} 
}

如果只清除本节点的空白,不遍历子节点
function cleanWhitespace2(oEelement) 
{ 
for(var i=0;i<oEelement.childNodes.length;i++){ 
var node=oEelement.childNodes[i]; 
if(node.nodeType==3 && !/\S/.test(node.nodeValue)){node.parentNode.removeChild(node)} 
} 
}

还转一个可以用的
function cleanWhitespace2(node) { 
var notWhitespace = /\S/; 
for (var i=0; i < node.childNodes.length; i++) { 
var childNode = node.childNodes[i]; 
if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) { 
node.removeChild(node.childNodes[i]); 
i--; 
} 
if (childNode.nodeType == 1) { 
cleanWhitespace2(childNode); 
} 
} 
}

如果只清除本节点的空白,不遍历子节点
function cleanWhitespace2(oEelement) 
{ 
for(var i=0;i<oEelement.childNodes.length;i++){ 
var node=oEelement.childNodes[i]; 
if(node.nodeType==3 && !/\S/.test(node.nodeValue)){node.parentNode.removeChild(node)} 
} 
}
Javascript 相关文章推荐
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
Mar 18 Javascript
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
jquery ajax请求实例深入解析
Nov 26 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
Javascript节点关系实例分析
May 15 Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
Jan 12 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
May 18 Javascript
Vue.js实现数据响应的方法
Aug 13 Javascript
微信小程序使用map组件实现路线规划功能示例
Jan 22 Javascript
jQuery实现表格的增、删、改操作示例
Jan 27 jQuery
Javascript 入门基础学习
Mar 10 #Javascript
javascript showModalDialog,open取得父窗口的方法
Mar 10 #Javascript
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 #Javascript
js Date自定义函数 延迟脚本执行
Mar 10 #Javascript
js 蒙版进度条(结合图片)
Mar 10 #Javascript
javascript 事件查询综合 推荐收藏
Mar 10 #Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 #Javascript
You might like
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
js 颜色选择插件
2017/01/23 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
angular十大常见问题
2017/03/07 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
python实现从web抓取文档的方法
2014/09/26 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python超时重新请求解决方案
2019/10/21 Python
详解python中docx库的安装过程
2019/11/08 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
opencv python图像梯度实例详解
2020/02/04 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
python try...finally...的实现方法
2020/11/25 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
小孩百日宴答谢词
2014/01/15 职场文书
网页美工求职信
2014/02/15 职场文书
文明生主要事迹
2014/05/25 职场文书
垃圾桶标语
2014/06/24 职场文书
会计师事务所实习证明
2014/11/16 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
工程部岗位职责范本
2015/04/11 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
导游词之介休绵山
2019/12/31 职场文书