2009-11-13 47 views
0

我有一个表单,我试图使用jQuery进行复制。我正在使用clone()方法,该方法返回克隆的对象(DOM元素)。然后我需要选择克隆表单的元素并操作它们。这可能吗?如果是这样,怎么样?
我试过的东西,如:如何操作使用jQuery克隆的DOM元素?

var clonedForm = $("#myForm").clone(); 
clonedForm.$(".inputField").val(); 

但(不出所料)第二行不起作用。任何帮助将不胜感激,谢谢。

回答

3

我觉得

$(clonedForm).find('.inputField').val() 
+0

这对于对象的后代(我确实需要)非常适用,但是我也需要能够在'main'元素(我调用clone()的那个)上进行操作。 e.x .:我克隆一个div,我需要更改该div的ID –

+0

我忘记了attr()方法。在你的解决方案和这种方法之间,谢谢 –

0

那么首先你从克隆的方法得到的是一块DOM的一个需要的地方连接可见(它不是从您的代码段明显的,如果是这样的话)。其次 - 如果您使用相同的ID来填充您的元素,那么您的findElementBYID将返回您将找到的fisrt元素。您可能需要通过克隆对象并更改ID值。然后你的语法也错在第二行所指出的

1

如果你想改变你复制的元素的ID,试试这个

var clonedForm = $("#myForm").clone(); 

clonedForm.attr({ id: 'new-id' }); 
0

有些人可能会觉得这更优雅

$(".inputField", clonedForm).val(); 

第二个参数指定了CSS选择器的上下文。