是否可以使用新的ID和名称在jQuery中克隆HTML元素?

Poo*_*att 13 html jquery

我想克隆一个表中的一行,但当我会克隆,新元素的nameid将是一样的,从它被克隆的元素.

我需要的是克隆元素与不同的nameid.

And*_*ker 31

我会传递prop一个键/值对映射来克隆后更新这些值:

$("#selector").clone().prop({ id: "newId", name: "newName"});
Run Code Online (Sandbox Code Playgroud)

在您添加它们之前,DOM中不存在克隆元素,因此在id您执行此操作之前,您不必担心重复的问题.

示例: http ://jsfiddle.net/BbpRA/

更新:在评论中,您说input您需要克隆20 秒.我将创建一个获取DOM元素和新id和名称的函数.你甚至可以制作一个小插件:

(function($) {
    $.fn.cloneWithProperties = function (properties) {
        return this.clone().prop(properties);
    };
})(jQuery)
Run Code Online (Sandbox Code Playgroud)

用法:

$("#selector").cloneWithProperties({ id: "newId", name: "newName" });
Run Code Online (Sandbox Code Playgroud)


jer*_*jer 6

你可以尝试这样的事情:

<div class="container">
  <div class="goodbye">
    Goodbye
    <div id="h1" class="hello">Hello</div>
  </div>
</div>

$('#h1').clone().attr('id','h2').appendTo('.container');
Run Code Online (Sandbox Code Playgroud)