Javascript 如何获取HTML节点的“计算”文本内容(调整了空格)

Javascript 如何获取HTML节点的“计算”文本内容(调整了空格),javascript,html,dom,browser,scripting,Javascript,Html,Dom,Browser,Scripting,我希望能够获得HTML节点的计算文本内容,即浏览器呈现的内容 a b c d e f g 1 2 34 click me h i 示例:考虑以下HTML: <html> <body> <p>a b c d e f &nbsp; g <div>1<

我希望能够获得HTML节点的计算文本内容,即浏览器呈现的内容

a b c d e f   g

1
2
34 click me
h            i

示例:考虑以下HTML:

<html>
    <body>
        <p>a
            b
            c          d
            e
            f &nbsp; g
            <div>1</div><div>2</div>
            <a>3</a><a>4</a>
            <button onclick="javascript:alert(document.body.textContent)">click 
me</button>
        </p>
        <pre>h            i</pre>
    </body>
</html>
a b c d e f   g

1
2
34 click me
h            i

请注意,p不能包含div。在解析代码时,Browser将在div开始之前关闭段落,并且结果将与示例不同。你甚至可以在发布的图像中看到它,在显示第一个div的内容之前,在p的底边有一条空白线。这可能看起来有点疯狂,但你最好的机会可能是使用专门为产生这种渲染而设计的,而这并不像看起来那么容易,你必须考虑CSS…。