在尝试使用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调用,这可以解决我的问题吗?
答案 0 :(得分:2)
您好像忘记使用#
,因为它应该是$('#some_id');
,而不是$('some_id');
。我建议只使用document.getElmenetById
。它读取得更清晰,并且比基于上下文的ID匹配更有效。
var some_id = document.getElmenetById("some_id");
关于元素“无法使用”的问题,请不要担心。 innerHTML setter执行同步操作。如果从中解析了具有匹配ID的标记,则在设置innerHTML后,相应的元素将立即可用。
答案 1 :(得分:0)
如果您使用的是jQuery,请求的success
函数将是:
$.ajax({
url: "test.html",
cache: false,
success: function(resp){
var ul = $("#containerID").html(resp).find("#ElementInRespID");
//do something with ul
}
});
这会将结果放入容器中,在那里找到你想要的元素,并为其设置ul
变量。