在克隆期间,Jquery一次编辑多个子节点

时间:2013-05-22 18:47:13

标签: jquery clone

我目前正在使用以下代码。哪个克隆元素并将克隆中的输入更改为我需要的内容。克隆中还有一个选择,我需要将其名称更改为另一个val。如何同时在同一个克隆命令上执行2个子节点?

代码:

$(this).parent().parent()
    .append($(this).parent()
    .clone()
    .children('input').attr('name', VAL)
    .end()
);

我需要这样的东西

$(this).parent().parent()
    .append($(this).parent()
    .clone()
    .children('input').attr('name', VAL)
    .children('select').attr('name', VAL2) // Where this does not target children of the input, but of the clone.
    .end()
);

2 个答案:

答案 0 :(得分:1)

$(this).parent().parent()
    .append($(this).parent()
    .clone()
    .children('input, select').attr('name', VAL)
);

或者:

$(this).parent().parent()
    .append($(this).parent()
    .clone()
    .children('input').attr('name', VAL)
    .end()
    .children('select').attr('name', OtherVal) 
);

Live DEMO

答案 1 :(得分:0)

这个回答是对gdoron的一些感谢,但他拒绝改变他对实际正确答案的回答。如果您需要在克隆或任何对象中编辑多个子项,请使用end并指定下一个子项。

$(this).parent().parent()
    .append($(this).parent()
    .clone()
    .children('input').attr('name', VAL)
        .end()
    .children('select').attr('name', VAL2) 
        .end()
);