2011-10-18 131 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'); 
}); 

如果一切都失敗,請嘗試使用$就加載該文件,完整的處理程序中插入您的內容。

相關問題