如果你尝试这样做:
var x = document.createElement("div");
x.appendChild(document.createTextNode(" te st ");
alert('-->' + x.innerHTML + '<--');ie6-7-8将发出警报
'te st 'ie9-10和其他浏览器:
' te st '有没有办法在旧的IE中解决这个问题?
谢谢
附注:我不想使用< pre >
发布于 2011-10-04 19:27:49
如果空白没有被渲染(使用<pre>元素或CSS white-space: pre),那么在旧的IE中就没有办法解决这个问题。在这些浏览器中,未呈现的空白字符根本不是DOM的一部分。
发布于 2011-10-04 16:42:41
尝试:
var x = document.createElement("div");
x.appendChild(document.createTextNode(" te st ".replace(' ',' '));
alert('-->' + x.innerHTML + '<--');发布于 2011-10-04 16:45:53
没有IE来测试,但是你有没有尝试过x.textContent?
顺便说一句,当浏览器呈现内容时,这些空白被“剥离”了,那么你到底为什么需要它们呢?
https://stackoverflow.com/questions/7645262
复制相似问题