我正在使用javascript并希望遍历HTML树,获取用户看到的所有文本。但是,我正在丢失间距信息。
假设我有两个文档:
<html>XXX<p>YY YY</p><html>
<html>XXX<p>YY YY</p><html>
第一个将在Y之间出现1个空格。第二个将有3个空格。但是,如果我遍历树,并且对于每个#text节点,请使用:
text = node.nodeValue;
然后两个节点的文本将有3个空格。我不再知道哪一个有“真正的”空间。我可以将node.innerHTML用于p元素,这将显示nbsp,但我不认为我可以使用innerHTML来获取XXX文本(没有某种文本减法)。
我可以获得整个文档的innerHTML并解析它。但是,我还需要获取每个元素的计算样式,我将使用
window.getComputedStyle(theElement).getPropertyValue("text-align");
所以,我将遍历每个节点。此外,innerHTML按原样显示源,而遍历节点“修复”html错误,添加结束标记等。这是一件好事,我想保留。
答案 0 :(得分:1)
如果您使用charCode进行测试怎么办?我认为常规空间为32
,而
为160
。