获取html节点时过滤空白节点
来源:互联网 发布:企业短信群发软件 编辑:程序博客网 时间:2024/05/16 04:00
在非 IE 中,标准的 DOM 具有识别空白文本节点的功能,而 IE 自动忽略了,如果要保持一致的子元素节点,需要手工忽略掉它。
var body = document.getElementsByTagName('body')[0]; // 获取 body 元素节点
//过滤空白节点
function filterSpaceNode(nodes) {
var ret = []; // 新数组
for (var i = 0; i < nodes.length; i ++) {
// 如果识别到空白文本节点,就不添加数组
if (nodes[i].nodeType == 3 && /^\s+$/.test(nodes[i].nodeValue)) continue;
// 把每次的元素节点,添加到数组里
ret.push(nodes[i]);
}
return ret;
}
上面的方法,采用的忽略空白文件节点的方法,把得到元素节点累加到数组里返
回。那么还有一种做法是,直接删除空位文件节点即可。
function filterSpaceNode(nodes) {
for (var i = 0; i < nodes.length; i ++) {
if (nodes[i].nodeType == 3 && /^\s+$/.test(nodes[i].nodeValue)) {
// 得到空白节点之后,移到父节点上,删除子节点
nodes[i].parentNode.removeChild(nodes[i]);
}
}
return nodes;
}
如果 firstChild 、 lastChild 、 previousSibling 和 nextSibling 在获取节点的过程中遇到
空白节点,我们该怎么处理掉呢?
function removeWhiteNode(nodes) {
for (var i = 0; i < nodes.childNodes.length; i ++) {
if (nodes.childNodes[i].nodeType === 3 &&
/^\s+$/.test(nodes.childNodes[i].nodeValue)) {
nodes.childNodes[i].parentNode.removeChild(nodes.childNodes[i]);
}
}
return nodes;
}
- 获取html节点时过滤空白节点
- JS过滤空白文件节点
- JS DOM 中的空白节点的过滤
- js获取html节点
- JS清除HTML之间的空白节点
- javascript遍历节点时打印空白节点怎么办?
- Js清除空白节点
- 删除空白节点方法
- 删除空白文本节点
- html节点
- html节点
- HTML节点
- Js获取HTML DOM节点元素
- js获取HTML元素节点方法
- HTML +DOM 获取和删除节点
- JavaScript获取HTML DOM节点元素详解
- JavaScript获取HTML DOM节点元素详解
- 通过jquery获取当前的html节点
- Linux1.0内核中断体系的建立
- IntPtr介绍
- 如何在iOS应用中使用自定义字体
- MySQL存储引擎
- 微信支付流程(IOS)
- 获取html节点时过滤空白节点
- FFMPEG 批量连接视频文件示范代码
- 海量路由表可以使用HASH表存储吗-HASH查找和TRIE树查找
- Hibernate入门教程
- 牛顿迭代法应用——求数的平方根和立方根
- arduino servo的用法
- java对图片的转码和解码 实用
- ffmpeg截取一段视频中一段视频
- 剑指offer--面试题27:二叉搜索树与双向链表--Java实现