jQuery使加载的文件成为DOM的一部分

时间:2010-03-03 08:28:23

标签: javascript jquery

我已在div中加载文件

$("#div").load("file.txt");

该文件包含html图像 我想通过$('#div> img')(或其他选择器)访问它们,但没有任何反应。如果他们最初在页面中,则没有问题。

如何通过jQuery访问加载的内容作为常规页面的一部分?

3 个答案:

答案 0 :(得分:1)

有关您可能遇到的一个问题,请参阅jquery doesn't see new elements。使用change方法等待它们进入DOM。 e.g。

$("#div").load("file.txt");

$('#div>img').change(function(){
  var images = $('#div>img');
  // Do something...
} 

答案 1 :(得分:1)

$("#div").load("file.txt");
$("#div > img")...  // file.txt hasn't finished loading yet

可能不会起作用,因为加载文件是异步发生的并且需要一些时间,当您尝试访问它时,内容根本就不存在。因此,您可以指定一个回调,保证在load()完成之后运行

$("#div").load("file.txt", function () {
    // file.txt has finished loading, this should work:
    $("#div > img")...
});

答案 2 :(得分:1)

加载的内容(假设通过Ajax)呈现为文本字符串。您可以使用.innerHTML等将其加载到DOM中。在jQuery中,您可以使用.html()加载DOM中的内容,然后您就可以通过标准的jQuery DOM选择器访问它。