是否可以测试中断空间?

Is it possible to test for breaking spaces?

我正在尝试按行解析最少的标记文本。目前我有一个逐字母解析的 for 循环。请看下面的代码:

正文:

<element id="myE">
This is some text that
represents accurately the way I 
have written my html
file.
</element>

代码:

var list = document.getElementById("myE").innerHTML;
var tallie = 0;

for (i=1;i<list.length;i++) {
  if (/*list[i] == " "*/ true) {
    list += 1;
    console.log(list[i]);
  }
}

console.log(tallie);

正如预期的那样,元素中嵌入的文本呈现在 DOM 中,就好像它是一个连续的、格式正确的字符串一样。但我发现控制台可以识别不间断 space 和新行之间的区别。其中 " "

"
"

分别代表两者

既然控制台似乎知道差异,似乎应该有一种方法来测试差异。如果您解锁注释条件,它将开始测试非中断 spaces。我认为还有另一种方法可以使用字符编码字符串(不是  ,另一种)来做到这一点。那么期望能够找到中断 space 的字符代码似乎是合理的。可惜我找不到。

长话短说,我怎样才能实现对 html 文件的真正逐行解析?

换行符用\n编码。有时您还会发现回车 return 和换行符 \r\n 的组合(请参阅维基百科上的换行符)。这些不应与 Non Breaking Space &nbsp;&#160; 混淆,如果您希望浏览器不自动换行但仍显示 space 或者如果您想要浏览器不要将多个 space 折叠在一起。