jload中的.load() - ed内容无法做任何事情吗?

时间:2013-02-28 09:44:56

标签: php javascript jquery

我正面临一个有趣的问题,一切都完美无瑕。我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.

任何形式的帮助,甚至是远程固定,都表示赞赏。

2 个答案:

答案 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