4

我有以下 jQuery 脚本,实际上它被 Internet Explorer(7 和 8)忽略了。它在 FF 和 Chrome 中运行良好。

<script type="text/javascript" language="javascript">
    $("body").addClass("newclass");
</script>

这很简单,但我不知道 IE 忽略它的原因是什么。知道代码是使用 JAVA 作为动态内容加载的(这应该不是问题,因为其余脚本都可以工作)。我试图将 tha 脚本作为外部文件中的函数调用,但也没有任何反应。谁能帮我理解我的错误在哪里?或者帮我理解IE?

4

3 回答 3

7

或者也许在文档的“就绪”事件中会更好

$(document).ready(function() {
  $('body').addClass('newclass');
});
于 2011-01-05T13:06:48.050 回答
0

我敢肯定,如果这是问题所在,您在 Firefox 和 Chrome 中也会遇到问题,但请尝试

$(function () {
    $('body').addClass('newclass');
});

只是为了确保在加载文档后调用它。也许IE需要那个。

于 2011-01-05T13:04:12.963 回答
0

把它包在一个$(document).ready(function(){ ... });

这样,JQuery 只会在页面完全加载后运行它。

如果您不这样做,代码将尽快执行,这可能是在 DOM 加载之前,因此您可能没有要添加类的 body 元素。

一些浏览器工作而另一些浏览器不工作的事实并不意味着不同的浏览器 (a) 以不同的速度加载页面,和/或 (b) 以不同的顺序执行初始加载任务。但你不应该担心这一点。只需调用$.ready(),JQuery 就会按照正确的顺序为您完成所有工作。

于 2011-01-05T13:07:39.317 回答