如何将内容添加到页面加载后创建的元素

时间:2011-10-18 09:13:14

标签: javascript-events jquery

我有动态创建的div,我想在加载时添加一些元素。 jQuery .load()和.live()没有帮助我。

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

3 个答案:

答案 0 :(得分:0)

你应该为点击准备部分制作一个事件:

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

答案 1 :(得分:0)

如果没有更多的背景,很难知道问题是什么。如果可以,请发布您想要做的更完整的片段。

根据您到目前为止发布的内容,我认为页面的初始HTML中不存在#myDiv div。所以我看到了两种可能性:

  • 你有一些其他JS正在创建元素(例如。$('#foo').append('<div id="myDiv"></div>')。然后,只要你的代码将它附加到页面中的某个元素,元素就会可用并且'在那里'。所以在这种情况下,假设元素#foo已经在DOM中,您可以在下一行执行$('#myDiv').text('Loaded!')之类的操作。
  • 您正在加载元素作为AJAX调用的一部分(即通过网络)。如果您将.load与元素($('#foo').load('/someurl'))一起使用,则可以添加另一个带回调函数的参数,该函数将在加载内容后调用。如果您正在使用$.ajax或其简写朋友($.get$.post等),并动态添加/创建内容successcomplete回调,请参阅上一个要点。

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

答案 2 :(得分:0)

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

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

如果所有其他方法都失败了,请尝试使用$ .Ajax加载文件,并使用完整的处理程序来插入内容。