我面临着一个问题,试图克隆一个父div,然后直接将其附加到它自己之下。我的功能,只要能正常工作的最后一个节点是 选择这样:Jquery-Clone()追加
<div>
<div> A </div>
<div> B </div>
<div> C </div>
</div>
将导致
<div>
<div> A </div>
<div> A.1 </div>
<div> B </div>
<div> C </div>
</div>
如果我克隆A.但是,如果我再克隆产品A,我得到。
<div>
<div> A </div>
<div> A.1 </div>
<div> A </div>
<div> A.1 </div>
<div> B </div>
<div> C </div>
</div>
,而我想
<div>
<div> A </div>
<div> A.1 </div>
<div> A.1 </div>
<div> B </div>
<div> C </div>
</div>
我的标记和代码如下:
<div id="maindiv">
<div>
<label>First</label>
<input type="button" class="repeat1" onclick="Repeat(this)"/>
</div>
<div>
<label>Second</label>
<input type="button" class="repeat1" onclick="Repeat(this)"/>
</div>
<div>
<label>Third</label>
<input type="button" class="repeat2" onclick="Repeat(this)"/>
</div>
</div>
function Repeat(obj)
{
var CurrentDiv = $(obj).parents("div[class^='repeat']:first");
$(CurrentDiv).clone().appendTo(CurrentDiv).end();
}
我也有删除类似的问题,所有的子节点,而我删除了刚刚想要删除一个div。任何帮助,将不胜感激。 REMOVE功能是
function Remove(obj)
{
var CurrentDiv = $(obj).parents("div[class^='repeat']:first");
CurrentDiv.remove();
}
插入后解决了问题,但我放弃了与appendTo的缩进。 – SDK 2010-02-02 22:22:06
像SLaks提到:你的标记是搞砸了。你显示的凹痕是任意的。您需要添加另一层DIV(或使用UL和LI)才能使嵌套生效。 – jkyle 2010-02-03 15:22:38