2012-10-08 2 views
0

div에 복제하고 다른 div (부모)에게 추가하려고합니다. 나는 이것을 위해 clonenode를 사용하고 있지만 작동하지 않는 것 같습니다. 첫 번째 함수에서 div를 복제하고 두 번째 함수에서 div의 부모에 추가합니다! 내가 뭘 잘못하고 있는지 모르겠다. 이 여기에 코드입니다 (* 편집 : * var에 추가) : 여기에 라이브cloneNode를 사용하여 여러 div를 복제 할 수 있습니까?

function cloneQ() { 
    //Cloning questions and shit 
    cloneQ.id = (cloneQ.id || 0) + 1; 
    var question = document.getElementById("question"); 
    var clone = question.cloneNode(true); 
    var numberOfQuestions = $('.question').length; 
    var id = "questioncon" + cloneQ.id; 
    clone.id = id; 
    question.parentNode.appendChild(clone); 
    var inid = "question" + cloneQ.id; 
    var optionid = "optionsdiv" + cloneQ.id; 
    $('#' + id + ' ' + '.' + 'questionin').attr('id', inid); 
    $('#' + id + ' ' + '.' + 'options').attr('id', optionid); 
    $('#' + id + ' h2').html('Question ' + cloneQ.id); 

    //Question Cloned 
    } 

function cloneforPrint() { 
    cloneforPrint.id = (cloneforPrint.id || 0) + 1; 
    var questionprint = document.getElementById("questionprint"); 
    var cloneprint = questionprint.cloneNode(true); 
    var printid = "questionprint" + cloneforPrint.id; 
    cloneprint.id = printid; 
    questionprint.parentNode.appendChild(clone); 
    var printinid = "thequestionprint" + cloneforPrint.id; 
    $('#' + printid + ' ' + '.' + 'thequestionprint').attr('id', printinid); 
} 

: http://bit.ly/R8hB2m

+1

제발 DOM과 jQuery를 섞지 마십시오. ** 제대로 들여 쓰기! ** – ThiefMaster

+0

왜 그래? 내가 사용한 몇 줄의 jQuery는 Javscript에서 더 어려울 것입니다. – jackson5

+0

코드를 이해하려고 할 때 상황 전환을 강요하는 것은 좋지 않습니다. jQuery에서 모든 작업을 수행하거나 jQuery없이 모든 작업을 수행하십시오. –

답변

1

편집 : 글로벌 바르 문제입니다.

당신은 그들을 글로벌하게, 당신의 변수 앞에 var에 넣어되지 않습니다. cloneForPrint 함수는 cloneQ에 정의 된 변수를 선택합니다.

초기화 모든 변수를 제대로하면 문제가 나타내는 몇 가지 오류를 얻을 수 있습니다.

CloneQ은 참으로 질문 부모에게 추가되지만 cloneForPrint는 다른 곳으로 이동합니다.

- 올드 대답 -

문제가 무엇인지 해결하려면 여기를 충분이 아니다. 내 첫 번째 추측은 question 요소가 questionprint 요소와 같은 부모를 가졌다는 것입니다.

주어진 코드를 기준으로 cloneQ은 반드시 question 명의 부모에게 추가되어야합니다. 그래서 당신이 지정한 모양을주는 것은 아마도 당신이 기대하는 것처럼 보이지 않을 것입니다.

+0

http://bit.ly/R8hB2m 여기에서 살고 있습니다 : 당신은 그것을 확인해 주시겠습니까? 그리고 저는 부모님이 아닙니다. 똑같다. – jackson5

+0

두 번째 기능인 cloneforprint가 작동하지 않는 것을 제외하고는 효과가있었습니다! – jackson5

+0

이 (가) 편집 된 코드를 원래 질문에 추가했습니다. – jackson5

관련 문제