精通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 相关文章推荐
JS面向对象、prototype、call()、apply()
May 14 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
Jul 10 Javascript
JS获取地址栏参数的小例子
Aug 23 Javascript
JS 实现Table相同行的单元格自动合并示例代码
Aug 27 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
Jquery easyUI 更新行示例
Mar 06 Javascript
jQuery学习笔记之2个小技巧
Jan 19 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
Jan 08 Javascript
jQuery div拖拽用法实例
Jan 14 Javascript
JS原型与原型链的深入理解
Feb 15 Javascript
小程序图片长按识别功能的实现方法
Aug 30 Javascript
高效jQuery选择器的5个技巧实例分析
Nov 26 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
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
JavaScript的Function详细
2006/11/14 Javascript
js获取div高度的代码
2008/08/09 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
python中pygame模块用法实例
2014/10/09 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python中偏函数用法示例
2018/06/07 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Keras loss函数剖析
2020/07/06 Python
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
酒店个人培训自我鉴定
2013/12/11 职场文书
高中军训感言800字
2014/03/05 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
基层党支部承诺书
2015/04/30 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
单身证明格式样本
2015/06/15 职场文书
灵魂歌王观后感
2015/06/17 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书