我正在尝试使用链接标记包装动态加载的图像:
var img = new Image();
slideData[slide].imgData = img;
$(img).load(function () {
$(this).css('display','none');
$(this).wrap("<a></a>");
slidesLoaded++;
}).attr({src:mediaURL+slideData[slide].image, alt:slideData[slide].title});
这似乎不起作用?当我这样做时:
$(slideData[0].imgData).appendTo('body').fadeIn()
没有标签,只有图片。
这可能吗?
答案 0 :(得分:1)
那是因为您在<img>
中存储了slideData[slide].imgData
元素,而不是包装<a>
元素。尝试:
$(slideData[0].imgData.parentNode).appendTo('body').fadeIn();
答案 1 :(得分:1)
当你包装一个元素时,这不会改变你在jQuery集中的元素。
此外,当您在文档中的某个位置插入元素时(使用.append
,.prepend
等),然后将元素从其当前位置移除并将其放置在哪里说。
所以发生的事情是你将你的图像放在<a>
标签内,然后立即将其移除以将其放入体内。 <a>
标记永远不会附加到正文中。显然,解决方案是附加<a>
而不是图像。
$(img).load(function () {
$("<a></a>")
.append($(this).hide())
.appendTo(document.body);
});