2012-03-31 101 views
0

我已經使用我創建的幾個html圖像標記填充了一個數組。我試圖讓數組的內容出現在頁面上的實際影像與下面的代碼:將jquery [object Object]更改爲可用的html標記

$(document).ready(function(){  //populates array with images 
     var shipImgs = $("#thumb_slider").children().each(function(index, element) { 
      var newImg = $("<img />").attr({src: this.src, alt: 'space'}).addClass(index == 0 ? "middle_slot" : (index == 1 ? "left_slot" : "right_slot")); 
      imgArr.push(newImg); 
     }); 

,然後點擊頁面上的按鈕後,它調用應顯示功能在一個名爲basic_div與下面的代碼行格的圖像:

$("#basic_div").html(imgArr[b] + imgArr[a] + imgArr[c]); 

而不是看到的圖像,你得到的是[對象的對象]時顯示陣列。將jquery對象轉換爲實際html代碼以顯示圖像的正確方法是什麼?如果您需要查看它,請點擊此處:http://www.digitalbrent.com/lab,然後按增加按鈕。謝謝!

+0

UPDATE:使用以下返回「[object HTMLImageElement]」:$(「#basic_div」)。html(imgArr [b] [0] + imgArr [a] [0] + imgArr [c] [0]) ;現在我只需要顯示圖像...我從這裏的另一個問題得到了這個解決方案:http://stackoverflow.com/questions/7114780/convert-jquery-element-to-html-element – 2012-03-31 06:42:34

+0

好的發現它。 ... $(「#basic_div」)。append(imgArr [b] [0]); 這是可行的,因爲經過進一步研究後,我發現.html()將對象轉換爲字符串。要實際顯示對象,我必須使用.append()。謝謝你們的幫助! 同樣對於那些誰有這個相同的問題,這可能會有所幫助:動態創建圖像的問題 ^^^這就是我找到答案的地方。 – 2012-03-31 06:55:34

回答

1

.html函數接受一個字符串。你傳遞它的對象(或者至少你傳遞了對象的可疑'總和')。所以,你需要可以建立與爲IMG標記(和屬性)文字字符串您的陣列,或者做類似如下:

var newImg = $("<img>"); 
newImg.attr('src', "tiffany-joy-10.jpg"); 
newImg.appendTo('#mydiv') 

我測試了它和它的作品(她看起來很不錯:)。

+0

感謝您的快速回復。我在我的代碼中做了這個改變,但是這仍然沒有實際顯示圖像。我已經嘗試過使用字符串,並且工作正常,但爲了以後我的目的,我需要用實際對象填充數組,以便更容易地操作每個對象的ID和類,如果它們是字符串,那將是一件非常頭疼的事情。還有什麼我需要做的,讓這些顯示? – 2012-03-31 06:33:02

+0

看到我的修訂...你需要使用附加或類似的功能 – 2012-03-31 06:56:56

相關問題