首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何克隆和更改id?

如何克隆和更改id?
EN

Stack Overflow用户
提问于 2012-04-12 23:08:20
回答 4查看 197.4K关注 0票数 136

我需要克隆id,然后在后面添加一个数字,比如id1id2,等等。每次你点击克隆,你就把克隆放在最新的id后面。

代码语言:javascript
复制
$("button").click(function() {
    $("#id").clone().after("#id");
}); 
EN

回答 4

Stack Overflow用户

发布于 2019-03-07 20:32:40

这是对我有效的最简单的解决方案。

代码语言:javascript
复制
$('#your_modal_id').clone().prop("id", "new_modal_id").appendTo("target_container");
票数 8
EN

Stack Overflow用户

发布于 2020-04-01 00:41:11

这也行得通

代码语言:javascript
复制
 var i = 1;
 $('button').click(function() {
     $('#red').clone().appendTo('#test').prop('id', 'red' + i);
     i++; 
 });
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div id="test">
  <button>Clone</button>
  <div class="red" id="red">
  </div>
</div>

<style>
  .red {
    width:20px;
    height:20px;
    background-color: red;
    margin: 10px;
  }
</style>

票数 3
EN

Stack Overflow用户

发布于 2016-09-08 19:38:01

我已经创建了一个通用的解决方案。下面的函数将更改克隆对象的ids和名称。在大多数情况下,您需要行号,因此只需向对象添加"data- row -id“属性即可。

代码语言:javascript
复制
function renameCloneIdsAndNames( objClone ) {

    if( !objClone.attr( 'data-row-id' ) ) {
        console.error( 'Cloned object must have \'data-row-id\' attribute.' );
    }

    if( objClone.attr( 'id' ) ) {
        objClone.attr( 'id', objClone.attr( 'id' ).replace( /\d+$/, function( strId ) { return parseInt( strId ) + 1; } ) );
    }

    objClone.attr( 'data-row-id', objClone.attr( 'data-row-id' ).replace( /\d+$/, function( strId ) { return parseInt( strId ) + 1; } ) );

    objClone.find( '[id]' ).each( function() {

        var strNewId = $( this ).attr( 'id' ).replace( /\d+$/, function( strId ) { return parseInt( strId ) + 1; } );

        $( this ).attr( 'id', strNewId );

        if( $( this ).attr( 'name' ) ) {
            var strNewName  = $( this ).attr( 'name' ).replace( /\[\d+\]/g, function( strName ) {
                strName = strName.replace( /[\[\]']+/g, '' );
                var intNumber = parseInt( strName ) + 1;
                return '[' + intNumber + ']'
            } );
            $( this ).attr( 'name', strNewName );
        }
    });

    return objClone;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10126395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档