2011-10-18 80 views
0

我有动态创建的div,并且我想在其加载时添加一些元素。 jQuery .load()和.live()没有帮助我。如何添加内容到页面加载后创建的元素

$('div#mydiv').load(function(){ 
    $(this).html('loaded!'); 
}); 
+0

创建div的位置在哪里?你不能在那里添加'.html()'吗? –

+0

我处理它。谢谢曼努埃尔。我太努力了。 –

回答

0

你应该做一个事件单击准备部分:

$('input').live('click', function(){ 
     alert("!"); 
    }); 
0

这是很难知道是什么问题,没有更多的上下文。如果可以的话,发布你想要做的更完整的片段。

从您发布的内容到目前为止,我认为它不是在网页的最初HTML中出现的#myDiv。所以我看到两种可能:。

  • 您必须是创造的元素其他一些JS(如$('#foo').append('<div id="myDiv"></div>')则该元素将是可用的和“那里”只要你的代码,它附加在页面中的一些元素。所以在这种情况下,假设元素#foo已经在DOM中,你可以在下一行做类似$('#myDiv').text('Loaded!')
  • 你正在加载元素作为AJAX调用的一部分(即通过网络)如果使用.load和一个元素($('#foo').load('/someurl')),则可以使用回调函数添加另一个参数,该函数将在内容加载后调用。如果您使用的是$.ajax或其简写frien ds($.get,$.post等),以及从其successcomplete回调中动态添加/创建内容,请参阅前面的项目符号点。

希望这会有所帮助。没有更多的背景知识,很难对您的问题给出更具体的答案,对不起!

0

尝试加载外部文件,然后在回调中插入代码:

$('#mydiv').load('myfolder/myfile.html', function() { 
    $('#mynewdiv').html('loaded'); 
}); 

如果一切都失败,请尝试使用$就加载该文件,完整的处理程序中插入您的内容。

相关问题