2015-04-12 84 views
0

我试图输出的图像与jQuery Mobile的相关的弹出式视窗,我有一个循环下面的代码:的jQuery appendTo似乎没有奏效

for(var i = 0, c = imageArray.length; i < c; i++) { 
    counter ++; 
    // Create new Image element 
    var img = $('<img data-rel="popup" class="image"/>').attr({src: imageArray[i], href: "#"+"image"+counter}); 
    // Append new img to our photos div 
    img.appendTo('.photos'); 

    var popoutID = "image"+counter; 
    var popout = $('<div data-role="popup"></div>').attr("id", popoutID); 
    popout.appendTo('.photos'); 
    var popoutImg = $('<img />').attr("src", imageArray[i]); 
    popoutImg.appendTo(popoutID); 
} 

此输出的图像正确的与正确的ID弹出div,但是当我试图将图像追加到弹出窗口,网络检查器显示为空?

回答

2

appendTo指向一个字符串,而不是弹出式视窗:

popoutImg.appendTo(popout); 

我喜欢在变,提醒前面加上$,所以我知道这是一个jQuery对象:

var $popout = $('<div data-role="popup"></div>').attr("id", popoutID); 
$popout.appendTo('.photos'); 
var popoutImg = $('<img />').attr("src", imageArray[i]); 
popoutImg.appendTo($popout); 
+0

嗨Mottie,我已经修改我的代码建议,我似乎得到的错误'未捕获ReferenceError:$弹出未定义' –

+0

报废,看起来像我的js没有完全更新。它现在附加到弹出窗口中。谢谢! –