我正面临一个有趣的问题,一切都完美无瑕。我console.log每一步都按照它应该的方式播放。但!我有#div进入我的.load(a-file.php)。既然“a-file.php”也包含了HTML标记,更具体地说是我想要“激活”onload的某些链接。
方案;页面加载发生,Javascript加载并将文件加载到div中。那个div现在有标签,我希望第一个标签处于“活动”状态,这需要我添加类('主动');.但以下似乎没有效果
$('#content').load('file.php'); // works.
$('#content a[rel="weird-page"]').addClass('active'); // does not work.
任何形式的帮助,甚至是远程固定,都表示赞赏。
答案 0 :(得分:1)
更改为:
$('#content').load('file.php', function() {
$('#content a[rel="weird-page"]').addClass('active');
});
答案 1 :(得分:1)
jQuery load()
异步工作,因此在addClass()
完成之前调用了load()
方法。
使用load()
回调函数,可确保您的内容已加载:
$('#content').load('file.php', function() {
$(this).find('a[rel="weird-page"]').addClass('active');
});
无耻插件警告:我写了一篇你可能觉得有用的blog post about jQuery callback functions。