去除空白文本节点

事先声明,去除空白文本节点的函数是剽窃的。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>removeWhite1</title>
</head>
<style>
  span {
    background-color: purple;
    color: white;
  }
</style>
<body>
  <p>
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
    <span>6</span>
    <span>7</span>
    <span>8</span>
    <span>9</span>
    <span>10</span>
  </p>

  <script>
    function removeWhiteSpace(elem){
      let el = elem || document,
          cur = el.firstChild,
          temp,
          reg = /\S/;
      while(null != cur){
        temp = cur.nextSibling;
        if( 3 === cur.nodeType && !reg.test(cur.nodeValue) ){
          el.removeChild(cur);
        }else if( 1 === cur.nodeType ){
          removeWhiteSpace(cur);
        }
        cur = temp;
      }
    }

    removeWhiteSpace();
  </script>
</body>
</html>

文章最初发布在简书,时间为 2018.07.23 19:51 。

链接:https://www.jianshu.com/p/00adcfa5c8eb