如何选择通过jQuery load()函数加载的元素?

时间:2010-12-15 14:15:22

标签: javascript jquery ajax asynchronous

我目前遇到以下问题(首先是一些示例代码):

<div id="container"></div>

<script type="text/javascript">
    $('#container').load('content.html');

    $('.elementInContentHTML').fadeIn();
</script>

简而言之,我希望能够访问已动态添加到页面的元素,而无需将它们附加到事件处理程序。

我知道live()方法,但我想要将我的动作绑定到任何事件,即我只想用这些新元素运行一些动作而不点击它们,聚焦,模糊等。

2 个答案:

答案 0 :(得分:17)

load函数是异步的 您的下一行在加载内容之前运行。

您需要将代码放在load函数的回调中,以便它只在加载新内容后运行:

$('#container').load('content.html', function() {
    $('.elementInContentHTML').fadeIn();
});

答案 1 :(得分:4)

您可以尝试在加载完成时使用回调吗?见http://api.jquery.com/load/

$('#result').load('ajax/test.html', function() {
  alert('Load was performed.');
});