jQuery – 包装动态加载的图像

我试图用链接标记包装动态加载的图像:

var img = new Image(); slideData[slide].imgData = img; $(img).load(function () { $(this).css('display','none'); $(this).wrap(""); slidesLoaded++; }).attr({src:mediaURL+slideData[slide].image, alt:slideData[slide].title}); 

这似乎不起作用? 我这样做的时候:

 $(slideData[0].imgData).appendTo('body').fadeIn() 

没有标签,只有图像。

这可能吗?

那是因为你将元素存储在slideData[slide].imgData ,而不是包装器元素。 尝试:

 $(slideData[0].imgData.parentNode).appendTo('body').fadeIn(); 

包装元素时,不会更改jQuery集中的元素。

此外,当您在文档中的某个位置插入元素时(使用.append.prepend等),然后元素从其当前位置移除并将其放在您说的位置。

所以发生的事情是你将你的图像放在一个标签内,然后立即将其移除以将其放入体内。 标签永远不会附加到正文。 显然,解决方案是附加而不是图像。

 $(img).load(function () { $("") .append($(this).hide()) .appendTo(document.body); });