我是靠谱客的博主 积极豌豆,最近开发中收集的这篇文章主要介绍仅IE6/7/8中innerHTML返回值忽略英文空格的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如下

复制代码 代码如下:

<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,都会变成一个空格

最后

以上就是积极豌豆为你收集整理的仅IE6/7/8中innerHTML返回值忽略英文空格的问题的全部内容,希望文章能够帮你解决仅IE6/7/8中innerHTML返回值忽略英文空格的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(112)

评论列表共有 0 条评论

立即
投稿
返回
顶部