试图在循环中预加载图像,它工作正常,但如何用另一个标签包装每个图像。执行此代码将无法正常工作,到目前为止我看不到问题。
...
var img = new Image();
$(img).load(function(){
$(this).hide();
$('.container').append('<a href="/">'+this+'</a>'); $(this).fadeIn();
});
...
当这是一个DOMElement时,你不能做'<a href="/">'+this+'</a>'
。
一个好的解决方案可以是:
// Inside the callback
$('<a href="/"></a>').append(this).appendTo('.container');
请记住,如果你使用.wrap
它将返回原始元素,而不是包装器!
你尝试过使用$(this)而不是这个吗?
或者你为什么不使用:
var $html = $(this).wrap('<a href="/" />');
$('.container').append($html);
你可以使用wrap
它不知道该怎么办w /“this”...如果你没有进行其他进一步操作w /图像在这一步可能你这样做:
...
$('.container').append('<a href="/"><img id=' + anIdOfYourChoosing + ' /></a>');
...
并且您只是在事后追溯设置图像上的属性。
使用$.wrap
$(img).wrap('<a href="#"></a>');