2013-03-20 92 views
0

我想將從服務器獲取的數據附加到div標籤,但我無法使其工作。這是HTML格式的div標籤,我想從JS代碼中追加數據。附加到標籤

HTML:

<body onload="initialize()"> 
<div id="text"></div> 
</body> 

這裏是JavaScript代碼。我想用一個將數據附加到div標籤的函數替換document.write。

JS:

function initialize() { 
$.getJSON('http://www.wawhost.com/izdelava-mobilne-aplikacije-2-del/fetch.php?callback=?', function (data) { 
    for (var i = 0; i < data.length; i++) { 
     document.write('<img src="' + data[i].image + '" />' + data[i].title + data[i].description + '<br>'); 
    } 
}); 
} 

小提琴:http://jsfiddle.net/GDxtf/

我剛開始學習JavaScript。幫助將不勝感激:)

+0

通過* append *,你的意思是*插入*?如果是這樣,你可以使用getElementById()和innerHTML。 – 2013-03-20 16:26:36

+0

@David這對我不起作用,因爲它不斷替換數據。無論如何謝謝你! :) – alesko007 2013-03-20 16:40:22

+0

'var e = getElementById(「text」)。innerHTML = e.innterHTML +「」'這樣的事情不行嗎? – 2013-03-20 16:43:52

回答

1

</body>前右側粘貼HTML文檔的底部,這個代碼,:

<script> 
// If you're not using an HTML5 doctype, use <script type="text/javascript> instead of just <script> 

$(function() { 

    $targetDiv = $("#text"); 
    $.getJSON('http://www.wawhost.com/izdelava-mobilne-aplikacije-2-del/fetch.php?callback=?', function (data) { 
     for (var i = 0; i < data.length; i++) { 
      var $div = $("<div />"); 
      var $img = $("<img />"); 

      $img.attr("src", data[i].image); 
      $img.appendTo($div); 

      var $title = $("<h2>" + data[i].title + "</h2>"); 
      $title.appendTo($div); 

      var $description = $("<p>" + data[i].description + "</p>"); 
      $description.appendTo($div); 

      $div.appendTo($targetDiv); 
     } 
    }); 
}); 
</script> 

這是否解決問題了嗎?

+0

謝謝!圖片不顯示tho – alesko007 2013-03-20 16:38:02

+0

@ alesko007更新了我的答案。現在應該工作正常。 – 2013-03-20 16:49:51

+0

非常感謝!它的作品完美:) – alesko007 2013-03-20 16:50:55