jquery 如何向页面加载后创建的元素添加内容

gmxoilav  于 2022-12-12  发布在  jQuery
关注(0)|答案(3)|浏览(140)

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

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

zynd9foi1#

您应该在就绪部分中为单击创建一个事件:

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

9q78igpj2#

如果没有更多的上下文,很难知道问题出在哪里。如果可以的话,你可以发布一个更完整的片段来描述你正在尝试做的事情。
从您到目前为止发布的内容来看,我认为#myDiv div没有出现在页面的初始HTML中。因此,我看到了两种可能性:

  • 你有一些其他的JS来创建这个元素(例如$('#foo').append('<div id="myDiv"></div>'))。然后,只要你的代码把它附加到页面中的某个元素上,这个元素就可以被使用了。所以在这种情况下,假设元素#foo已经在DOM中了,你可以在下一行做一些类似$('#myDiv').text('Loaded!')的事情。
  • 您正在将元素作为 AJAX 调用的一部分进行加载如果您使用.load搭配元素,($('#foo').load('/someurl'))您可以添加另一个带有回调函数的参数,该函数将在内容加载后被调用。($.get$.post等),以及从其successcomplete回调动态追加/创建内容,请参阅前面的要点。

希望这能有所帮助。没有更多的上下文,很难给予你的问题一个更具体的答案,对不起!

lf5gs5x2

lf5gs5x23#

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

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

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

相关问题