在window.load之后添加Class到由.load添加的html元素无法正常工作

时间:2016-09-19 10:05:32

标签: jquery html

我正在使用

加载带导航菜单的标题
jQuery(document).ready(function() {
    $('#header').load("header.html");
});

在此代码之后我有以下

$(window).load(function() {
   $('#about').addClass('active');
});

从我理解的所有内容中,window.loaddocument.ready之后运行,但它仍未应用任何内容。有帮助吗? addClass的jquery似乎是正确的,因为在浏览器中加载页面后键入控制台时,它可以正常工作。

这是我设置标题模板并加载它的方式有问题吗?

之前我使用过php和一些node.js,所以重用代码很简单,但我要求使用纯html / js,因此标题模板。

感谢

2 个答案:

答案 0 :(得分:5)

尝试在加载回调中执行此操作:

$('#header').load("header.html", function () {
   // this is run after header.html has been loaded
   $('#about').addClass('active');
});

More information about .load

答案 1 :(得分:3)

您希望将回调传递给应在内容加载后运行的load

jQuery(document).ready(function() {
    $('#header').load("header.html", function(){
       $('#about').addClass('active');
    });
});

要了解文档就绪和窗口加载之间的差异,请检查:window.onload vs $(document).ready()