js中空白节点的问题
来源:互联网 发布:淘宝数码店铺简介 编辑:程序博客网 时间:2024/05/16 05:59
看如下HTML代码
由于DOM中,空白也是作为一个文本节点,而两个input元素后面都有空白(回车、空格、制表符),所以结果为4,删除空白后结果为2。
为了处理里面的空格节点,用以下函数来处理。
处理结点cleanWhitespace(document.getElementById("TEST"))后,OK,解决
-----------------------------------------------------------------------------------------------------------------------------------------------------
1.为什么会出现空白节点的问题
因为浏览器的差异在对于非空文本节点前面或后面有空格或换行符等特殊的文本字符组成,IE和FF就会产生分歧,IE会忽略这些节点,而FF则认可这些节点。
2.表现是形式
- 1
- 2
- 3
- 4
上面的一段代码段分别在IE浏览器FF浏览器下执行下面的代码,作用是显示
- 标记子节点的个数。
- ,和
- ,和
- 之间的空白节点也是一个单独的节点,所说FF的结果是5,而IE的结果是2。
var dll=document.getElementById(“dll”);
alert(dll.childNodes.length);
你会发现…………………………
IE为2,FF为5。两个浏览器产生了不同的结果,这是由于一段文本是一个独立的节点,但如果这段文本仅仅由空格,换行,制表符这些特殊的文本字符组成,IE和FF就会产生分歧,IE会忽略这些节点,而FF则认可这些节点。分歧产生的原因是FF认为
- 和
3.对我们的的影响
childNodes[index],nextSibling,previousSibling这些间接节点引用的行为,因为nextSibling很可能是一个无用的空白文本节点。
4.解决的办法
阅读全文
0 0
- js中空白节点的问题
- js中空白节点的问题
- javascript之解决dom中存在的空白节点问题
- js中移除空白节点
- js删除空白节点的函数(DOM)
- JS DOM 中的空白节点的过滤
- JS清除HTML之间的空白节点
- Js清除空白节点
- JS过滤空白文件节点
- js中点击空白区域时文本框与隐藏层的问题
- JS 链接节点的问题
- JS中获取节点的兄弟、父、子节点的各种问题
- js中节点的类型
- JS中DOM的节点
- js:首/未子节点,兄弟节点,排除空白实现
- jQuery的index()原生js实现以及删除空白文本节点函数
- 关于js加载iframe出现空白问题的解决方案
- 不同浏览器中childNodes的个数(节点间的空白符)
- ajax异步请求遮罩层blockUI
- Fragment跳转
- 前端vue splice使用
- Thrift server端的几种工作模式分析
- Linux下的守护进程
- js中空白节点的问题
- MySql的安装及Navicat for MySql的教程
- UML13种图的静态和动态分类
- Eclipse导入Maven项目,报错提示:The import net.sf.ehcache.Cache cannot be resolved
- Deep Security Management才9.6(有代理版)支持的CentOS内核(通过测试)
- 与后台交互选择的交互方式
- Intellij IDEA配置优化
- 实测搬瓦工KVM VPS安装锐速、BBR加速软件
- IPC----消息队列