我目前遇到以下问题(首先是一些示例代码):
<div id="container"></div>
<script type="text/javascript">
$('#container').load('content.html');
$('.elementInContentHTML').fadeIn();
</script>
简而言之,我希望能够访问已动态添加到页面的元素,而无需将它们附加到事件处理程序。
我知道live()
方法,但我不想要将我的动作绑定到任何事件,即我只想用这些新元素运行一些动作而不点击它们,聚焦,模糊等。
答案 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.');
});