[JQUERY] 어떻게 jQuery를 클론 () 변경 ID로?
JQUERY어떻게 jQuery를 클론 () 변경 ID로?
해결법
-
1.$ ( '# cloneDiv'). ((기능을 클릭) { // ID가 ^ = "KLON"로 시작하는 마지막 DIV를 얻을 수 VAR $ DIV = $ ( 'DIV [ID = ^ "KLON"] 마지막'); // 읽기 수와 그 DIV의 ID (즉 "klon3"3) // 그리고 1로 그 수를 증가 VAR NUM =에서는 parseInt ($의 div.prop ( "ID") 매치 (/ \ D + / g), 10). +1; // 클론이 새로운 ID를 할당 (즉 : NUM 4에서 "klon4"ID에) VAR $ KLON = $ div.clone () 소품 ( 'ID', 'KLON'+ NUM).; // 마지막으로 당신이 원하는 목적지 $ KLON 삽입 $ div.after ($ klon.text ( 'KLON'+ NUM)); }); <스크립트 SRC = "https://code.jquery.com/jquery-3.1.0.js"> script> <버튼의 ID가 = "cloneDiv"> 클릭 CLONE 버튼>
klon1 div>klon2 div>$ ( '# cloneDiv'). ((기능을 클릭) { // ID가 ^ = "KLON"로 시작하는 마지막 DIV를 얻을 수 VAR $ DIV = $ ( 'DIV [ID = ^ "KLON"] 마지막'); // 읽기 수와 그 DIV의 ID (즉 "klon3"3) // 그리고 1로 그 수를 증가 VAR NUM =에서는 parseInt ($의 div.prop ( "ID") 매치 (/ \ D + / g), 10). +1; // 클론이 새로운 ID를 할당 (즉 : NUM 4에서 "klon4"ID에) VAR $ KLON = $ div.clone () 소품 ( 'ID', 'KLON'+ NUM).; // 마지막으로 당신이 원하는 목적지 $ KLON 삽입 $ div.after ($ klon.text ( 'KLON'+ NUM)); }); <스크립트 SRC = "https://code.jquery.com/jquery-3.1.0.js"> script> <버튼의 ID가 = "cloneDiv"> 클릭 CLONE 버튼>
klon1 div>klon2 div>5 만 (않기 위해) 스크램블 - 당신이 KLON 같은 ID를 가진 많은 요소를 가지고 말. 마지막으로 나 : 여기에 우리가 갈 수없는 첫째, 그러므로 우리는 가장 높은 ID를 검색하는 메커니즘이 필요합니다 :
CONST 모두 $ = $ ( '[ID = ^ "klon--"] "); CONST maxID = Math.max.apply (수학, $ all.map ((I, EL) => + el.id.match (/ \ D + $ / g) [0])하세요 ().); CONST nextId maxID = + 1; CONSOLE.LOG는 (`새로운 ID입니다 : $ {nextId}`);
12 DIV>34 div>8 DIV> <스크립트 SRC = "https://code.jquery.com/jquery-3.1.0.js"> script>2.업데이트 :로 로코 C.Bulijan은 선택한 DIV 후를 삽입 .insertAfter를 사용할 필요가 .. 지적했다. 당신이 그것을 대신 여러 번 복제 할 때 시작의 끝에 추가 할 경우에도 코드를 업데이트를 참조하십시오. 데모
업데이트 :로 로코 C.Bulijan은 선택한 DIV 후를 삽입 .insertAfter를 사용할 필요가 .. 지적했다. 당신이 그것을 대신 여러 번 복제 할 때 시작의 끝에 추가 할 경우에도 코드를 업데이트를 참조하십시오. 데모
암호:
var cloneCount = 1;; $("button").click(function(){ $('#id') .clone() .attr('id', 'id'+ cloneCount++) .insertAfter('[id^=id]:last') // ^-- Use '#id' if you want to insert the cloned // element in the beginning .text('Cloned ' + (cloneCount-1)); //<--For DEMO });
시험,
$("#id").clone().attr('id', 'id1').after("#id");
당신은 자동 카운터를 원하는 경우, 아래 참조
var cloneCount = 1; $("button").click(function(){ $("#id").clone().attr('id', 'id'+ cloneCount++).insertAfter("#id"); });
3.이것은 나를위한 간단한 솔루션 작업이다.
이것은 나를위한 간단한 솔루션 작업이다.
$('#your_modal_id').clone().prop("id", "new_modal_id").appendTo("target_container");
4.나는 일반화 된 솔루션을 만들었습니다. 이 기능은 아래의 ID와 복제 된 개체의 이름을 변경합니다. 그냥 객체에 "데이터 행 ID"속성을 추가 할 수 있도록 대부분의 경우, 행 번호가 필요합니다.
나는 일반화 된 솔루션을 만들었습니다. 이 기능은 아래의 ID와 복제 된 개체의 이름을 변경합니다. 그냥 객체에 "데이터 행 ID"속성을 추가 할 수 있도록 대부분의 경우, 행 번호가 필요합니다.
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; }
5.이 역시 작동
이 역시 작동
i가 1 = VAR; $ ( '버튼'). ((기능을 클릭) { . $ ( '# 레드') 클론 () appendTo ( '# 테스트') 소품 ( 'ID', '빨간색'+ I)..; 내가 ++; }); <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"> script>
<버튼> 클론 버튼>DIV> DIV> <스타일> .red { 폭 : 20 픽셀; 높이 : 20 픽셀; 배경 색상 : 레드, 여백 : 10px; } 스타일>6.
$('#cloneDiv').click(function(){ // get the last DIV which ID starts with ^= "klon" var $div = $('div[id^="klon"]:last'); // Read the Number from that DIV's ID (i.e: 3 from "klon3") // And increment that number by 1 var num = parseInt( $div.prop("id").match(/\d+/g), 10 ) +1; // Clone it and assign the new ID (i.e: from num 4 to ID "klon4") var $klon = $div.clone().prop('id', 'klon'+num ); // Finally insert $klon wherever you want $div.after( $klon.text('klon'+num) ); });
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
from https://stackoverflow.com/questions/10126395/how-to-jquery-clone-and-change-id by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 일치하지 않는 익명 () 모듈을 정의 (0) 2020.10.11 [JQUERY] Laravel CSRF 토큰 불일치 아약스 POST 요청에 대한 (0) 2020.10.11 [JQUERY] JQUERY 검사 요소가 뷰포트에 표시되면 [중복] (0) 2020.10.11 [JQUERY] jQuery를 - 가져 오기 너비 요소의 경우 표시되지 않음 (표시 : 없음) (0) 2020.10.11 [JQUERY] 마우스를 두었을 때와 mouseenter 이벤트의 차이점은 무엇입니까? (0) 2020.10.11