使用IE9 F12开发人员工具,我在控制台中看到这些错误:
SCRIPT438: Object doesn't support property or method 'getElementsByTagName'
jquery.min.js, line 16 character 59007
SCRIPT438: Object doesn't support property or method 'getElementsByTagName'
jquery.min.js, line 16 character 59007
这些错误可能与我的问题无关(即使有问题的代码被注释掉,这个错误也会出现一次…)
jQuery停止执行,肯定的,因为站点上没有jQuery在IE9中工作。它在FF, Chrome, Safari和Iphone (Safari也是如此)上没有任何问题。
我已经把破坏东西的代码缩小到下面(我知道,因为当它消失时一切都很好):
<script type="text/javascript">
$(document).ready(function() {
var $alertdiv = $('<div id = "alertmsg"/>');
/*$alertdiv.text("");*/
$alertdiv.bind('click', function() {
$(this).slideUp(200);
});
$(document.body).append($alertdiv);
$("#alertmsg").slideDown("slow");
setTimeout(function() { $alertdiv.slideUp(200) }, 10000);
});
</script>
此脚本在其他浏览器上运行时,会滑下一个twitter样式的通知栏,并显示一条消息,如alertmsgdiv中定义的那样。
有没有人发现只有IE9才会导致这个问题?
好吧,这是一个旧版本的jQuery库的错误(jQuery模板不工作在IE9 RC)…
我引用了最新的jQuery (v1.6.4) -我立即启动并运行…
谢谢大家的帮助!