选择克隆元素变量中的元素

时间:2013-11-19 11:57:33

标签: javascript jquery

我使用clone()克隆了一个元素:

var clone = $('#orig').clone();

克隆工作正常,但我在尝试通过ID选择其中的元素时遇到了一些麻烦。 所有嵌套元素都与原始元素具有相同的ID,我需要在将它们附加到页面之前对其进行操作...

我正在尝试这样的事情:

alert(clone.filter("#Full").attr('id'));

你可以帮我吗?

3 个答案:

答案 0 :(得分:1)

试试这种方式

var clone = $('#orig').clone();
clone.attr('id','orig1');

在此处查看http://jsfiddle.net/3tWks/

答案 1 :(得分:1)

首先,使用类而不是ID。 ID 始终在文档中应该是唯一的,如果克隆,可能会导致不可预测的行为(如果您希望克隆的元素具有ID,则在克隆时通过所有方式分配新的ID!)

也就是说,您希望使用.find代替.filter来查找嵌套在克隆元素中的元素:

clone.find(".myClassName")
/* or */
clone.find("#Full")

.find – jQuery Docs

答案 2 :(得分:1)

您在问题中提供的代码段工作正常!

只需将filter替换为find

请看这个小提琴: http://jsfiddle.net/Pkv7S/

但是,是的,您应该警惕重复的ID。