我使用div创建了一个框。

<div class="panel" style="display:inline; float:left;position: relative; width: 140px; height: 200px; border:solid 2px; border-color: red;cursor: pointer;"></div>


我尝试使用jQuery克隆元素并将克隆附加到自身,但是它没有按预期工作。

for (; i < noC; i++) {
    $(".panel").clone().appendTo($(".panel"));
}


我希望将每个框添加到最后一个框之后。

[]     // noC = 1
[][]   // noC = 2
[][][] // noC = 3


而是,每个新框都插入到前一个框的内部。

[]     // noC = 1
[[]]   // noC = 2
[[[]]] // noC = 3


我怎么做?

最佳答案

noC = 3;
for(i= 0; i < noC;i++) {
    $("#panel").append(function(){
        return $("#panel").find('div').length==0?$(this).clone(): $("#panel").find('div:first').clone();
    });
}​


有关实时演示,请参见以下链接:http://jsfiddle.net/nanoquantumtech/PBBNe/
//要么

     noC = 3;
    for(i= 0; i < noC;i++) {
    $("body").append($("#panel:first").clone());
     }​


有关实时演示,请参见以下链接:http://jsfiddle.net/nanoquantumtech/HvnbU/

09-17 07:30