我已在div中加载文件
$("#div").load("file.txt");
该文件包含html图像 我想通过$('#div> img')(或其他选择器)访问它们,但没有任何反应。如果他们最初在页面中,则没有问题。
如何通过jQuery访问加载的内容作为常规页面的一部分?
答案 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选择器访问它。