2012-08-22 22 views
0

我在现有div中追加div,然后再追加一个div到append div中,但它对我无效。我究竟做错了什么。请帮助。jQuery中的附加功能无法正常工作

<head> 
<script type="text/javascript"> 
$(function(){ 
$('a').click(function(){ 
var cl=$('#free').clone(); 
var jj=$('.append') 
var mm=jj.append('<div class="hii"></div>') 
mm.append(cl) 
}) 
}) 
</script> 
</head> 
<body> 
<div style="background:#F00; width:500px; height:50px" id="free"></div> 
<a href="#">hide</a> 
<div class="append"></div> 
</body> 
+0

这不是解决方案,但你错过了很多';'。 – insertusernamehere

+0

;在JavaScript中是可选的。上面的代码在我的最后。 –

+0

您使用'id''free'克隆了一个元素,因此您创建的元素没有唯一的标识符。这不是有效的HTML,所以请避免这样做。而不是'id =“free”','class =“free”'。另外,这是怎么回事?你能创建一个小提琴或类似的东西来演示这个问题吗? – jakee

回答

2

jj.append('<div class="hii"></div>')回报jj,而不是新的div。所以使用这个:

$(function(){ 
    $('a').click(function(){ 
    var cl = $('#free').clone(); 
    var jj = $('.append'); 

    var mm = $('<div class="hii"></div>'); 

    jj.append(mm); 
    mm.append(cl); 
    }); 
}); 
+0

为什么我的函数不起作用 – Carlos

+0

@SperanskyDanil&Amit:我可以看到两个函数的输出相同。 –

+0

@SperanskyDanil:我已经看到了,但问题是如果他的代码错了,那么为什么它给出正确的输出?你能解释一下吗? –