2011-10-24 103 views
3

我正在使用JQuery的$.getJSON函數下載一些圖像的URL,我試圖在div內輸出它們。我試圖讓輸出看起來像這樣:JQuery附加'[object,Object]'而不是圖片

<a href="the image url (shot.short_url)"><img src="the direct image url (shot.image_teaser_url)" /></a> 

但是,輸出這個:

<div id="body-wrapper"> 
    <a href="http://drbl.in/300896">[object Object]</a> 
    <a href="http://drbl.in/298080">[object Object]</a> 
    <a href="http://drbl.in/290395">[object Object]</a> 
    <a href="http://drbl.in/290324">[object Object]</a> 
    <a href="http://drbl.in/268595">[object Object]</a> 
    <a href="http://drbl.in/265197">[object Object]</a> 
    <a href="http://drbl.in/256368">[object Object]</a> 
    <a href="http://drbl.in/252519">[object Object]</a> 
    <a href="http://drbl.in/242235">[object Object]</a> 
    <a href="http://drbl.in/241676">[object Object]</a> 
</div> 

請你能告訴我在哪裏,我錯了的情況下進行輸出圖片?

這是我的代碼:

function work() { 
      $('#body-wrapper').empty(); 
      $.getJSON("http://dribbble.com/jakekrehel/shots.json?callback=?", function(data){ 
       $.each(data.shots, function(i,shot){ 
        var image = $('<img/>').attr('src', shot.image_teaser_url); 
        var title = '<a href=\"' + shot.short_url + '\">'; 
        var string = title; 
        string = string + image; 
        string = string + '</a>'; 
        $('#body-wrapper').append(string); 
       }); 
       }); 
     } 
+2

這是一個不是字符串的對象。將其解引用到url值。 – Joe

+0

謝謝,我正在使用'var image ='';'現在。 –

回答

0

.each()回調中試試這個

// create image 
var image = $('<img>').attr('src', shot.image_teaser_url); 

// create anchor and append image 
var anchor = $('<a>').attr('href', shot.short_url).append(image); 

// append anchor to container 
$('#body-wrapper').append(anchor); 
+0

我做了'var image ='';'而不是,它完美地工作。 –

+0

@XcodeDev不,它不。如果'image_teaser_url'或'short_url'字符串包含任何HTML字符,則可能會弄亂文檔或更糟,導致XSS漏洞。改用適當的DOM方法。 – Phil

2

圖像是一個jQuery對象,而不是一個字符串 - 因此它附加到一個字符串會產生[對象的對象]

理想情況下,將所有內容都改爲對象 - 例如

$('#body-wrapper').append(
    $("<a/>",{"href": shot.short_url}).append(
    $("<img/>",{"src": shot.image_teaser_url})); 

或欺騙和爲此 字符串=串+ image.html();

要麼應該工作

注:我打那些沒有語法檢查和有支架的很多,做了我最好的壽!

相關問題