2013-02-18 61 views
0

我有一个函数可以从YouTube json回调中获取视频标题,这是可行的 - 但是我遇到了将变量插入到元素中的问题。将变量(从json中抓取)插入到元素中

这里是我抓住了饲料:

<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/2WNrx2jq184?v=2&amp;alt=json-in-script&amp;callback=youtubeFeedCallback"></script> 

JavaScript函数我使用的是:

function youtubeFeedCallback(data) { 
var info = data.entry.title.$t; 
document.write(info); 
} 

这工作得很好,但我想将其插入一个div与ID“框”。

通常我会用下面(并将其添加到功能 - 并删除文件撰写):

var box = document.getElementById('box'); 
box.innerHTML = info; 

我不能得到这个工作,虽然。什么是正确的方式来实现我想要做的事情?由于

http://jsfiddle.net/b3VYT/

+0

也许这会帮助你? http://jsfiddle.net/b3VYT/1/ – 2013-02-18 02:03:59

+0

太简单了...我猜脚本必须在元素下面?由于我的所有链接脚本位于页面的顶部,因此我花了很多时间试图完成这一步。谢谢 – George 2013-02-18 02:09:27

回答

2

要么确保该脚本如下:该元素或将代码包装在document.ready回调中,以便在加载DOM之后才运行该代码。

http://jsfiddle.net/b3VYT/1

+0

为了在DOM加载后执行它,是否只是添加'window.onload = youtubeFeedCallback(data){'? – George 2013-02-18 15:13:58

+0

@乔治是啊,应该工作 – 2013-02-18 15:15:58

0

你需要确保你正在使用的元素声明之前,你的脚本执行:

<div id='test'></div> 
<script> 
    function youtubeFeedCallback(data) { 
     document.getElementById('test').innerHTML = data.entry.title.$t; 
    } 
</script> 

Example