如何用标签包装var img = new image?

时间:2011-07-20 12:14:43

标签: javascript jquery image wrapping

尝试在循环中预加载图像并且工作正常但如何用另一个标记包装每个图像。执行此代码不起作用,到目前为止我看不到问题。

...
var img = new Image();
$(img).load(function(){
$(this).hide();         
$('.container').append('<a href="/">'+this+'</a>');                                                     $(this).fadeIn();                                       
});
...

5 个答案:

答案 0 :(得分:3)

你尝试过使用$(this)而不是这个。

或者你为什么不使用:

  var $html = $(this).wrap('<a href="/" />');
  $('.container').append($html);

答案 1 :(得分:1)

当这是DOMElement时,你不能'<a href="/">'+this+'</a>'

一个好的解决方案可以是:

// Inside the callback
$('<a href="/"></a>').append(this).appendTo('.container');

请记住,如果您使用.wrap,它将返回原始元素,而不是包装器!

答案 2 :(得分:0)

使用$.wrap

$(img).wrap('<a href="#"></a>');

答案 3 :(得分:0)

您可以使用wrap

http://api.jquery.com/wrap/

答案 4 :(得分:0)

它不知道该怎么做w /“this”...如果你没有进行其他进一步的操作w /图像在这一步可能你这样做:

...
$('.container').append('<a href="/"><img id=' + anIdOfYourChoosing + ' /></a>');
...

您只需在事后追溯设置图片上的属性。