2013-03-06 108 views
0

所以我的控制檯日誌正確顯示所有的信息,所以我知道我的代碼工作,但現在我想輸出數據到我的HTML中的某個div來顯示正在播放的播放列表的歌曲。如何將聲音[i] .title的JSON數據打印到div?將JSON數據打印到HTML div?

widget.bind(SC.Widget.Events.PAUSE, function(){ 
    $("#{STORIES.story_id}6 :image").removeClass('buyy') 
     .removeClass('buyyy') 
     .addClass('buy'); 

    widget.getSounds(function(sound) { 
     var a = sound.length; 
     for(var i=0; i<a; i++){ 
      console.log(sound[i].title); 
     } 
    }); 
}); 

回答

1

缺少任何有關DOM樹中的哪個位置的信息,您實際上希望將數據放入...

$('#someElement').append($('<div>', {text: sound[i].title })); 
+0

好吧,這工作!謝謝! – user1325578 2013-03-06 23:36:51

+0

另外我怎樣才能讓它顯示在水平列表而不是怪物垂直列表? – user1325578 2013-03-06 23:42:17

+0

使用內聯元素而不是塊級元素。 – 2013-03-07 00:02:51

0

在許多現代的瀏覽器,使用jQuery,您可以執行以下操作:

$('#myDiv').text(JSON.stringify(myJson)); 

另外,如果你想的JSON進行格式化就可以使用:

JSON.stringify(myJson, undefined, 2); 
// JSON -------^  ^  ^
// no filter ----------^  ^
// indent two spaces -------------^ 
+0

或者讓它非常'JSON.stringify(myJson,空,2)' – Chad 2013-03-06 23:23:40

+0

我覺得OP實際上並沒有意味着打印JSON本身 - 只是一個很差的措辭問題。 – 2013-03-06 23:24:04

+0

@MattBall我認爲你是對的,我認爲他現在意味着'.title'中的字符串,現在我重新閱讀它。 – Chad 2013-03-06 23:24:34

-1

像這樣的事情

<script type="text/javascript"> 
    //stuff and more stuff// 

    for(var i=0; i<a; i++){ 
     document.getElementById('myList').append= sound[i].title+', '; 
    } 

</script> 
<p>My playlist: <span id='myList'>Empty</span> </p> 
+0

這將持續覆蓋之前設置的值。 -1 – 2013-03-07 00:03:56

+0

謝謝,改變innerhtml追加應該做的伎倆? – 2013-03-07 00:10:38

+0

排序,但不是你寫的方式。 https://developer.mozilla.org/en-US/docs/DOM/Node.appendChild和OP使用jQuery,所以我根本沒有必要爲此使用vanilla DOM。 – 2013-03-07 00:29:04