我試圖替換在點擊鏈接時動態添加到對話框元素的div內的文本。在JQuery中獲取動態添加的元素
var feedBackDialog;
if(!feedbackDialog){
$(".feedback_link").click(function() {
//set contents of the dialog 'feedback-dialog'
$.get("https://stackoverflow.com/users/feedback", null, function(result) {
feedBackDialog = $("#feedback-dialog").html(result). //set html content during callback
attr('title', title).
dialog({ autoOpen: true, width: 560, modal: true
});
});
}
else
{
feedbackDialog.dialog({ autoOpen: true, width: 560, modal: true });
}
//change the text in the newly created element.
$('#feedback-label').text($(this).attr('feedback_desc'));
id爲feedback-label
存在於那我取的HTML的元素。但是,最後一行的$('#feedback-label')
不起作用,因爲DOM尚未刷新。我試過$("#feedback-dialog").find('#feedback-label')
,但似乎並不一致。有誰知道獲得這個新創建的元素的好方法嗎? 我知道我可以簡單地用內容替換html <div id="feedback_label"></div>
的字符串,但我正在尋找更好的方法。
這個想法似乎是正確的,但文字並沒有添加到第一次點擊div。 – arviman
您是否收到任何錯誤訊息? –
沒有錯誤信息。我相信問題在於,jquery的對話框不包含文本,因爲它是在*切換到div之前創建的。 – arviman