2011-03-14 243 views
0

我有问题使下面的代码工作。基本上,我想通过在mouseover上附加到body来移动元素。我的代码有什么问题?从这个附加元素

感谢

<div class="wrp"> 
<p>this is a wrap</p> 
<p><img src="myimg.jpg" /></p> 
</div> 
<div class="wrp"> 
<p>this is a wrap2</p> 
<p><img src="myimg.jpg" /></p> 
</div> 
<div class="wrp"> 
<p>this is a wrap3</p> 
<p><img src="myimg.jpg" /></p> 
</div> 

<script type="text/javascript"> 
$(".wrp").hover(function(){ 
$("img", this).appendTo("body"); 
}); 
</script> 

预期输出:

<html> 
<head/> 
<body> 
... 
<img src="myimg.jpg" /> 
</body> 
</html> 
+2

它的确如此。 [这里](http://jsfiddle.net/hCC2H/)是一个jsfiddle,当然图像被打破,但你仍然可以看到它正在做你想做的。 – Pointy 2011-03-14 11:55:33

+0

我认为它是因为你移动''这个''.wrp'以及图像,因此你可能会将图像移动到图像以及图像上,试试'$(this).find('img' ).appendTo('body')' – Val 2011-03-14 11:57:02

+1

@Val不,这不是什么'$('img',this)'意味着 - 它与$(this).find相同('img')' – Pointy 2011-03-14 11:58:00

回答

1

将是方便,如果你向我们表明,实际发生的输出。但是,这是除了点......

尝试做,而不是执行以下操作:

<script type="text/javascript"> 
$('.wrp > img').hover(function(){ 
$(this).appendTo('body'); 
}); 
</script> 

我没有测试它,它从我的头顶。但它应该工作。

+0

他发布的代码工作正常。 – Pointy 2011-03-14 12:04:28

+1

我认为这个代码在问题中的代码是一样的。 – YNhat 2011-03-14 12:13:40