2012-07-11 4 views
1

을 변경() 값 .html 중에서 중지 I는 divdiv의 콘텐츠를 동적으로 변경하는 또 다른 기능이 있다고 가정 해 봅시다.(210)JQuery와 다음과 같이

따라서, 내 div_contents 값은 내가 최종 또는 정적 변수 또는 무언가로 사용할 수 있도록 변경하는 div_contents의 가치를 유지할 수있는 방법 "<h2></h2>"

"<p></p>"에서 변화? 당신이 할당을 할 때

$(document).bind("DOMNodeInserted", function(e){ 
    alert('New Element: ' + e.target) 
    div_contents = $("div").html() 
}) 

DEMO

이 이
+0

각 기능에 대한 코드를 붙여 넣으십시오. – RobB

+1

당신의'div_contents' 변수는 할당 라인이 실행 된 시점에서 div의 html을 저장합니다. 요소가 변경되면 변경되지 않습니다. – jbabey

+0

당신이 더 신중하게 읽어야한다고 생각합니다. [구문] (http : //api.jquery.com/html/#html2) – JustinStolle

답변

1

div_contents 만 변경됩니다 : 새로운 노드가 문서에이 이벤트가 발생을 삽입하고 변수의 값을 업데이트 할 때

1

DOMNodeInserted 돌연변이 이벤트를 시도 . div_contents의 값이 <h2></h2> 인 경우는 $("div").html()을 호출했을 때 div의 상태 였기 때문입니다. 이후에 div가 변경되면 다른 할당을 할 때까지 변수는 그 값을 유지합니다.

실제 진행 상황을 확인하려면 코드를 더 많이 볼 필요가 있습니다.

0

수정 된 문제는 어딘가에서 실수를 한 것이 틀림 없습니다. 그러나 지금은 효과가 있습니다.

$(document).ready(function() { 
    var has_ran = false; 
    var div_contents; 
    $(".scenario").bind("contextmenu", function (e) { 
     e.preventDefault(); 
     var flipped_div = $(this); 
     if (!has_ran) { 
      div_contents = $(flipped_div).html(); 
      has_ran = true; 
     } else { 
      //do nothing 
     } 
     flip(flipped_div, div_contents); 
     return false; 
    }); 
}); 

function flip(flipped_div, div_contents) { 
    if ($(flipped_div).hasClass("flipped")) { 
     $(flipped_div).append(div_contents); 
    } else { 
     $(flipped_div).empty(); 
     $(flipped_div).append("<div class=\"scenario-desc\">hi</div>"); 
    } 
    $(flipped_div).animate({ 
     rotateY: "+=" + (Math.PI)/2 
    }, 500, function() { 
     $(flipped_div).toggleClass("flipped"); 
    }).animate({ 
     rotateY: "+=" + (Math.PI)/2 
    }, 500); 
} 
관련 문제