2013-02-18 57 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