簡體   English   中英

使用domready進行AJAX調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM