如下
復制代碼 代碼如下:
<div id="user"> jack</div>
<script>
alert(document.getElementById('user').innerHTML.length);
</script>
div[id=user]中的文本"jack"前有兩個英文空格,各浏覽器下結果如下
IE6/7/8 : 彈出4,即忽略了空格
IE9/Firefox/Safari/Chrome/Opera : 彈出6,即沒有忽略空格
另換成中文空格不會有這個問題。
以下是Gray Zhang的補充:
1、IE6-8下,對於一個元素的firstChild,如果其為TextNode,且nodeValue前n個字符為空格字符(包括空格、\t、\n、\r和一個分頁符號U+000C),則這n個字符被忽略
2、在IE6-8下,對一個元素的lastChild,如果其為TextNode,且nodeValue最後n個字符為空格字符(包括空格、\t、\n、\r和一個分頁符號U+000C),則這n個字符會被合並為一個空格(ASCII碼為32),無論你是\t還是\n,都會變成一個空格