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

问题描述 投票:0回答:5

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

...
var img = new Image();
$(img).load(function(){
$(this).hide();         
$('.container').append('<a href="/">'+this+'</a>');                                                     $(this).fadeIn();                                       
});
...
javascript jquery image wrapping
5个回答
1
投票

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

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

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

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


3
投票

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

或者你为什么不使用:

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

0
投票

你可以使用wrap

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


0
投票

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

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

并且您只是在事后追溯设置图像上的属性。


0
投票

使用$.wrap

$(img).wrap('<a href="#"></a>');
© www.soinside.com 2019 - 2024. All rights reserved.