删除childNodes获取的空白节点

快乐打工仔 分类:实例代码

关于childNodes属性的基本用法可以参阅js childNodes一章节。

此属性能够将换行和空白看做文本节点,但是实际应用,往往我们只需要文本节点。

下面就通过一段代码实例介绍一下如何实现此功能,代码实例如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<script type="text/javascript">
window.onload = function () {
  function del(obj) {
    var inner = obj.childNodes;
    var arr = [];
    for (var i = 0; i < inner.length; i++) {
      if (inner[i].nodeType == 3 && /^\s+$/.test(inner[i].nodeValue)) {
        continue;
      } else {
        arr.push(inner[i])
      }
    }
    return arr;
  }
  var outer = document.getElementById("outer");
  antzone.innerHTML=(del(outer).length);
}
</script>
</head>
<body>
  <div id="outer">
    <p class="one">前端教程网一</p>
    <p class="two">www.pipipi.net</p>
    <div class="three">js教程</div>
  </div>
  <div id="antzone"></div>
</body>
</html>

删除childNodes获取的空白节点,这样的场景在实际项目中还是用的比较多的,关于删除childNodes获取的空白节点就介绍到这了。

删除childNodes获取的空白节点属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容