最近在做一个网站用的append追加元素,发现一个很奇怪的问题,网页在Chrome等浏览器都显示正常,但是到了IE8里面就无法工作。
尝试修复IE浏览器,但是毫无效果。后来经过反复排查,主要是浏览器对代码的识别程度不同,IE8比较严格,而火狐和谷歌则比较宽松。在IE8中不能通过jquery获取不规范的标记元素。而在火狐和谷歌上可以正常运行,虽然火狐和谷歌可以正常的运行,但是这样的编码是不符合Web标准,这样会为开发带来很多意想不到的问题。IE8的标记元素必须是规范的html标记,不能自定义标签如<user-defined></<user-defined>
等。还有就是不能没有关闭标签。
如下面这种:
var $a=$("<a>");
$("body").append($a);
这段代码在IE8中是添加不了元素的,改成下面这种即可。
var $a=$("<a></a>");
$("body").append($a);