仅IE6/7/8中innerHTML返回值忽略英文空格的问题_javascript技巧

如下

复制代码 代码如下:

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

时间: 2024-09-19 20:43:55

仅IE6/7/8中innerHTML返回值忽略英文空格的问题_javascript技巧的相关文章

JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法_javascript技巧

本文实例讲述了JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法.分享给大家供大家参考,具体如下: 主页面: <script type="text/javascript"> function SelectGroupCust() { var temp = window.showModalDialog("Default2.aspx?xx=" + Date(), "", "dialog

js弹窗返回值详解(window.open方式)_javascript技巧

test.php 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-

js修改table中Td的值(定义td的单击事件)_javascript技巧

项目做完,在测试验收时,用户突然提出,可以更改查询结果,便于打印.隐藏工程错误.但是这个时候提要求,比较头痛,后来,想了想还是用前台代码,这样,只要在项目的JS文件中,加入以下几个函数,便可以解决了. 复制代码 代码如下: /* 页面装载时,为每个td增加单击事件,这样,就可以不用对每个页面进行更改. */ function ReWritable() { var tbmian=document.getElementById("tbmain"); for(var i=0;i<tbm

js修改table中Td的值(定义td的双击事件)_javascript技巧

客户需求至上. 这次是更改后的代码,去掉了"确定","取消"按钮.变单击为双击事件,用户按ESC键,取消更改. 复制代码 代码如下: //为每个Td添加双击事件 function ReWritable() { var tbmian=document.getElementById("tbmain"); //循环,为每行每列添加双击事件,但是,第一行(thead)与最后一行(tfoot)不添加. for(var i=1;i<tbmain.row

js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解_javascript技巧

js:$("<li>"+(i==0?"class='cur'":"")+"</li>").appendTo("ul"); jsp: <c:forEach items="${list}" var="listValue" varStatus="idx">         <li class="${id

javascript 弹出的窗口返回值给父窗口具体实现_javascript技巧

直接上代码,有些地方可以用到: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME=&qu

Shell中函数返回值超出问题

  这篇文章主要介绍了Shell中函数返回值超出问题,shell中通过return返回是有限制的,最大返回255,超过255,则从0开始计算,需要的朋友可以参考下 1.前言 快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了.为了鞭策自己成长,还是要坚持写写博客,记录自己的成长. 2.shell函数介绍 语法: 代码如下: [ function ] funname [()] { action; [return int;] } 说明: (1)可以带function fun() 定义,

spring-项目中ajax返回值的问题

问题描述 项目中ajax返回值的问题 项目类似于微博系统,struts2+springjquery的Ajax提交并返回值是个map对象.现在的问题是: 我发布一条微博时想无刷新的在下面出现一条加入的记录,这个基本就是在前台将返回的值拼字符串,然后插入到记录显示,因为会有大量的这个拼接字符串的地方,我想问下有没有其他的简单的方式来实现无刷新的提交并回显 解决方案 可以 改用创建 对象 .获取到同样样式的最后一个对象.jquery对象.clone()方法克隆该jquery对象再给对象用js更改后台获

linkedlist-java Arraylist和Linkedlist中set返回值为什么是old值

问题描述 java Arraylist和Linkedlist中set返回值为什么是old值 小弟自学了Arraylist和Linkedlist,但是有一点令我疑惑不解,求大婶帮助: public E set(int index, E element) { checkElementIndex(index); Node x = node(index); E oldVal = x.item; x.item = element; return oldVal; //我想问为什么这儿返回返回修改前的值(Ar