今天碰到个BUG,是用IE8测试出现的,FF和Chrome均没有问题。一开始以为是浏览器兼容问题,不够等解决后以后才发现,是由于不小心导致的(不小心可以理解为无技术含量的失误)
先看下html部分的代码(只写出有问题的部分)
<ui id="a"></ui>
和简单多久一个容器,然后是JS部分代码,是往上面的容器中加入子节点
for(var i=0; i < b.length;i++){
var $li = $("<li><a href='javascript:void(0)')\">"+b[i].name+"</li>");
$("#a").append($li);
}
问题是在Chrome、F和IE9中,列表显示正常,在IE8中未有显示。
问题1:
容器标签错误,应该是ul误写成ui
修复第一个问题后,IE8上在容器中显示的是一行,用调试器看就是一段字符串
问题2:
<a>标签没有关闭,在写$li的时候漏掉了</a>部分
以上两个问题修复后IE8显示正常
从今天这个问题发现的是:IE8要比其他现代浏览器各严格……(或者说其他浏览器更聪明 - -||)