javascript开发中因空格引发的错误

废话不多说,先上代码给大家看看


代码如下:

<!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-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>依依园地</title>
</head>
<body>
<div id="win">
<ul id="picChange">
<li>
<img src="images/01.jpg" title="图片1"></li>
<li>
<img src="images/02.jpg" title="图片2"></li>
<li>
<img src="images/03.jpg" title="图片3"></li>
</ul>
</div>
<script type="text/javascript">
var pic = document.getElementById('picChange');
var picList = pic.getElementsByTagName("li");
alert(picList[0].firstChild);
</script>
</body>
</html>

以上代码1请分别在Firefox和IE中运行,Firefox出现的是 [object Text] ,而IE中出现的是[object],这里IE和Firefox都把picList[0].firstChild这个对象当作object对象,Firefox提示是Text类型对象,IE没有提示更细了。
我们再运行下面这部分的代码看看,看清楚了,代码本身相同,但是li下面没做换行缩进。


代码如下:

<!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-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>依依园地</title>
</head>
<body>
<div id="win">
<ul id="picChange">
<li><img src="images/bigpic/01.jpg" title="护腰/HY005"></li>
<li><img src="images/bigpic/02.jpg" title="枕头吊臂/DB-004"></li>
<li><img src="images/bigpic/03.jpg" title="大护脚/HY-001"></li>
</ul>
</div>
<script type="text/javascript">
var pic = document.getElementById('picChange');
var picList = pic.getElementsByTagName("li");
alert(picList[0].firstChild);
</script>
</body>
</html>

以上代码2请分别在Firefox和IE中运行,Firefox出现的是 [object HTMLImageElement] ,而IE中出现的是[object],这里IE和Firefox都把picList[0].firstChild这个对象当作object对象,Firefox提示是HTMLImageElement类型对象,IE没有提示更细了。
上下两种写法只是缩进和换行的差别,在IE中被认做相同的object对象,可是不同的缩进在Firefox中却代表了不同的对象,Firefox对HTML的解析实在令人费解。
再此做记录,希望各位朋友看了有用,别因为跟我一样的问题半天没找到解决问题的方法。

(0)

相关推荐

  • javascript开发中因空格引发的错误

    废话不多说,先上代码给大家看看 复制代码 代码如下: <!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> <met

  • 弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】

    本文实例讲述了弱类型语言javascript开发中的一些坑.分享给大家供大家参考,具体如下: 测试1: (未声明变量自动提升为全局变量) test1(); function test1() { function setName() { name = '张三'; // 此处没有var声明,提升至全局 } setName(); console.log(name);// '张三' } 测试2: (函数内部局部变量的变量提升) test2(); function test2() { var a = 1;

  • Android开发中的9个常见错误和解决方法

    经过各种各样的整理,以及和热心网友讨论,终于整理出了九种android开发中最常见的问题和解决方案再次跟大家分享下!!有用的话请顶顶帖子,共同进步.好了不多说了,下面是详解! 1. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致. 2. 布局文件不可以有大写字母 3. 抛出如下错误WARNING: Application does not specify an API level requirement!, 是由于没有指定users sdk的缘故,修改A

  • JavaScript 开发中规范性的一点感想

    可谓一劳永逸,不要重复造轮子:) 1.常用的方法统一放置 例如:在用户注册时,时常需要判断文本框中字符是否是汉字.英文.数字或邮箱地址等等.何不把这些方法统一放在一个脚本中,取名叫做utility.js呢? 复制代码 代码如下: //待需要时另存为一个js function isNull(obj) { if (!obj || obj.length==0 || obj=="") { parent.MyAlert("标注名不能为空!",alertImg); return

  • 设计模式中的facade外观模式在JavaScript开发中的运用

    概念 外观模式(门面模式),是一种相对简单而又无处不在的模式.外观模式提供一个高层接口,这个接口使得客户端或子系统更加方便调用. 外观模式并不是适配器模式,适配器模式是一种包装器,用来对接口进行适配以便在不兼容系统中使用它.而创建外观元素则是图个方便.它并不用于达到需要特定接口的客户系统打交道这个目的,而是用于提供一个简化的接口. JavaScript代码示例 用一段再简单不过的代码来表示 var getName = function(){ return ''svenzeng" } var ge

  • 10个在JavaScript开发中常遇到的BUG

    就算最牛的JavaScript开发者也会犯错.有时候导致程序的执行结果和预期不一样,有时候根本无法运行.这里我总结了10个常见的错误,我相信不管是初级还是资深开发者都可能遇到. 相等混淆 x是否和y相等?x是否为真?在JavaScript中,如何正确地做相等判断很重要,但似乎很多人搞不清楚.简单概括一下,主要是下面三种情况:条件判断(if, &&, etc.),相等操作符(==),和严格相等操作符(===). 甚至,有的时候会不小心把赋值(=)当做相等操作符使用,千万不要搞错了! 避免使用

  • javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足

    onchange在用于文本框输入框时,有一个明显的不足. 事件不会随着文字的输入而触发,而是等到文本框失去焦点(onblur)时才会触发. 也就是没有即时性! 在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,必须用addEventListener的方式来绑定事件.否则无效. 好

  • Java开发中最让人头疼的十个bug

    目录 前言 错误一:Array 转换成 ArrayList 错误二:检查数组是否包含某个值 错误三:在 List 中循环删除元素 错误四:Hashtable 和 HashMap 错误五:使用原始类型的集合 错误六:访问级别问题 错误七:ArrayList 和 LinkedList 错误八:可变和不可变 错误九:构造函数 错误十:到底是使用 "" 还是构造函数 后记 前言 作为 Java 开发,我们在写代码的过程中难免会产生各种奇思妙想的 bug ,有些 bug 就挺让人无奈的,比如说各

  • javascript编程开发中取色器及封装$函数用法示例

    本文实例讲述了javascript编程开发中取色器及封装$函数用法.分享给大家供大家参考,具体如下: 1.封装$函数 function $(str){ //如果传入的是'#' 则选择id标签 //如果传入的是'.' 则选择所有的类名标签 //如果传入的既不是'#也不是'.' 选择复合标签 //判断传入的值 if(typeof str !='string'){ console.log('传入的参数有误!'); return null; } //获取参数的第一个字母 var firstChar=st

  • B/S开发中常用javaScript技术与代码

    在b/s开发中经常用到的javaScript技术  一.验证类 1.数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2.时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 (2003-12-05) 2.3 长时间,形如 (2003-12-05 13:04:06) 2.4 只有年和月.形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03)

随机推荐