1

我正在尝试逐行解析最小的标记文本。目前我有一个逐字母解析的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 中呈现,就好像它是一个连续的、格式正确的字符串。但是我发现控制台可以识别不间断空格和新行之间的区别。在哪里" "

"
"

分别代表两者。

由于控制台似乎知道差异,因此似乎应该有一种方法来测试差异。如果您解锁注释条件,它将开始测试不间断空格。我认为还有另一种方法可以使用字符编码字符串(不是  ,另一种)。期望能够找到中断空格的字符代码似乎是合理的。不幸的是我找不到一个。

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

4

1 回答 1

1

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

于 2016-08-16T15:14:24.220 回答