纪录一则IE的bug

 quirks 今天程序员问我为何点击某元素ajax异步加载内容的时候IE下老是报错,其他浏览器Firefox Chrome等则不报错。

 用IE9的调试工具看了一下,报 语法错误 :行1 字符14 

查看源码,是 <!DOCTYPE html> 的结尾,心想 HTML5的声明为何会报这儿的错误呢,查看脚本也没有语法错误。也可以正常运行,只是每次点击该元素,总会报出若干同样错误。
于是开始怀疑是 某些文档操作 导致了浏览器产生了与文档声明不符的地方。所以报错。遂修改了JS中文档操作的部分,结果错误依旧。

又仔细查看控制台, 第一行 报出如下警示: 

 已由 quirks 模式变为 IE9 标准模式。

 

查看代码,原来 程序员把li 放到了 ul 外面:

 <li class="more" onClick="loadMoreComments()">查看更多评论</li>
                  
<ul class="rplst" id="cmtlist_3_931">
                    
<li>
                      <dl> 

 

点击more的时候,就出现了这样的错误。

将li 移入 ul 后,问题解决。

结论:即使是HTML5的文档声明,也尽量遵守HTML的基本嵌套规则,否则IE下会有异样表现。而且难以查找症结。 

 

posted on 2011-07-18 14:46  trance  阅读(208)  评论(0编辑  收藏  举报

导航