2011-04-14 4 views
0

HTML 코드의 텍스트 영역을 첫 번째 텍스트 영역의 동일한 컨테이너에 추가하는 버튼을 클릭하여 텍스트 영역을 복사하려고합니다.html 요소 jQuery 추가

내 코드는 다음과 같습니다

$("#note_adder").click(function(){$("#p_note").clone().append('note_id')}); 
  • 버튼의 ID는 note_adder
  • 텍스트 영역의 ID가 p_note입니다
  • 컨테이너의 ID가 나는 또한의 이름 속성을 변경하려면 note_id

입니다 새롭게 생성 된 텍스트 영역.

답변

8

두 가지 : 당신은 appendTo를 사용해야합니다, 당신은 # 필요 note_id 앞. ID를 고유해야하기 때문에

$('#note_adder').click(function() { 
    var counter = $('[id^="p_note"]').length; 
    $('#p_note').clone().attr({ 
     id: 'p_note_' + counter, 
     name: 'p_note_' + counter 
    }).appendTo('#note_id'); 
}); 

는 또한 복제 된 텍스트 영역의 id을 변경했습니다. http://jsfiddle.net/cq9Hq/2/ :

여기 Shadow Wizard's answer에서 빌린 데모의 ...

  • p_note_1
  • p_note_2
  • 등 : 각 연속 클릭, 그것은의 이름과 ID를 가진 새로운 텍스트 영역을 생성한다.

+0

+1은 ID 변경을 제안했지만 버튼을 두 번 클릭하면 어떻게됩니까? :) –

+0

@ Shadow, 아하 포인트! 그걸로 일하게 내버려둬 ... 어떻게 된거 야? –

+0

카운터의 간단한 문제. 내 아래의 테스트 케이스를 자유롭게 사용하십시오. :) –

3

필요는 appendTo이 될 :

$("#note_adder").click(function(){$("#p_note").clone().appendTo('#note_id')}); 

라이브 테스트 케이스 : http://jsfiddle.net/cq9Hq/

Box9 더 나은 방법으로 업데이트 : http://jsfiddle.net/cq9Hq/1/

+0

실수로 appendTo를 언급 해 주셔서 고마워요. 생방송으로 알지 못했습니다. – Star

+0

Box9 답변이 내 답변과 동일하고 더 나은 (동일한 ID는 정말 나쁜 생각입니다) 유일한 이유는 내 대답은 테스트 케이스입니다. –