[英]Using domready for AJAX calls
在我嘗試使用JQuery訪問它們之前,有沒有辦法知道元素在文檔上?
var s = new AjaxCall(someurl);
s.oncomplete = function(response) {
var container = $('container_id');
container.innerHTML = response;
var ul = $('some_id'); }
響應是Ajax調用返回的一些HTML。
此響應更新div
的內容,然后我訪問由innerHTML
(代碼中的ul
)創建的元素。
如果響應很大,我相信當我嘗試訪問它們時,有些元素會被渲染。 domready
是否適用於AJAX調用,這可以解決我的問題嗎?
你似乎忘了使用#
,因為它應該是$('#some_id');
,而不是$('some_id');
。 我建議只使用document.getElmenetById
。 它讀取得更清晰,並且比基於上下文的ID匹配更有效。
var some_id = document.getElmenetById("some_id");
關於“無法使用”元素的問題,請不要擔心。 innerHTML setter執行同步操作。 如果從中解析了具有匹配ID的標記,則在設置innerHTML之后,相應的元素將立即可用。
如果您使用的是jQuery,那么請求的success
函數將是:
$.ajax({
url: "test.html",
cache: false,
success: function(resp){
var ul = $("#containerID").html(resp).find("#ElementInRespID");
//do something with ul
}
});
這將把結果放在容器中,在那里找到你想要的元素並為它設置ul
變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.