我使用jQuery load()方法将HTML文件加载到另一个HTML文件中:
$("#sidebar").load("templates/sidebar.html");
<div id="sidebar"></div>
我有一些javascript我想在加载的HTML文件上运行。这个脚本不起作用,我相信由于它在执行时无法看到新的HTML。例如,这行jQuery将无法看到sidebar.html中存在的我的菜单类。
$('.menu').css('left', '100');
有没有什么办法可以强制脚本等到我的加载HTML在执行之前呈现?
答案 0 :(得分:2)
您可以将一个函数作为附加参数传递给.load()调用,它将在新元素添加到DOM后的.load()调用结束时执行
$("#sidebar").load("templates/sidebar.html", function () {
$('.menu').css('left', '100');
});
<div id="sidebar"></div>