jquery .load工作但不可读

时间:2014-06-16 21:12:40

标签: javascript jquery ajax

我想知道为什么我可以使用.load向页面加载非常具体的信息,但是当我尝试回读加载的信息时,我刚刚返回null

这是我用来加载这些信息的jquery

$(function(){
    $('#code').load('stuff.html #specificstuff');
});

这是我用来重复#code

中的内容的代码
var content = document.getElementById('#code');
document.write(content);

但是当这个运行时,我只是回到null

2 个答案:

答案 0 :(得分:2)

document.getElementById('#code');

应该是

document.getElementById('code');

有人说......我不知道为什么你首先使用document.write

你需要等待负载完成,所以这样做会更有意义:

$('#code').load('stuff.html #specificstuff', function(){
    var content = document.getElementById('code').html();
    document.write(content);
});

答案 1 :(得分:0)

$.load()是异步的,所以你的代码是:

var content = document.getElementById('#code');
document.write(content);

在加载实际内容之前执行

将它放在这样的回调函数中:

$(function(){
    $('#code').load('stuff.html #specificstuff', function(){
        var content = document.getElementById('code');
        document.write(content);
    });
});

所以在内容完成加载后执行

也就是说,document.write(content);在这种情况下是无效的,因为$('#code').load()id="code"元素的内容替换为文件#specificstuff的内容{ {1}}。