2012-02-14 4 views
0
여기

내가, 작업 기존의 코드를 주위에 일하고 있어요 무엇의 간단한 예입니다 잘못 됐을 2, 그래서 3 단계 등) :JQuery와 숨기기/쇼

var blue_div = "#Blue"; 
var red_div = "#Red"; 
var blue_stage = "#Blue" + count; 
var red_stage = "#Red" + count; 

부상 사업부 년대에 모욕을 추가하면 다른 페이지에 존재 숨겨져 있습니다. 각 단계마다 다른 div에 콘텐츠를 가져와야합니다. 그래서 나는 그래서, 내용을 잡아() .prepend 사용하고 있습니다 : 마지막 부분 정말

var blue_html = $(blue_div).html(); 
var new_div = "#new_div"; 

$(new_div).prepend(blue_html); 
$(new_div).attr('id', blue_stage); //Changing the id based on the stage 

던지는 뭐죠 ...로 지금은 첫번째 결말없이 new_div를 사용하려고 해요 는 DOM에 아직 그래서 스크립트 ...

if ($(blue_stage).is(':hidden')) { 
    $(blue_stage).show() 
    $("#cancel").bind("click",function(){ 
     $(blue_stage).hide() 
    } 
} 

은 내가 창에서는 setTimeout (함께 할 많은)뿐만 아니라 setInterval을 .queue()를 보았다. 그러나 나의 시도는 모두 실패했다. 바라건대 내 예제가 혼란스럽지 않은데, 어떤 도움도 감사하지 않을 것입니다!

답변

1

난 당신이 뭔가를 할 수 있다고 생각 :

$new_div.attr('id', blue_stage) 

참고로 이와 같은 ID를 설정하면 다른 답변에 "#"이 필요하지 않습니다.

1

선택시 해시 표시 #을 사용하지만 노드에 ID로 설정하는 경우이 표시가없는 식별자 만 사용한다는 점에 유의하십시오. 그래서이 라인 :

$(new_div).attr('id', '#Blue' + count); 

을 그러나 아마 다음과 같이해야한다 :

$(new_div).attr('id', blue_stage); //Changing the id based on the stage 

이 동일합니다

$(new_div).attr('id', 'Blue' + count); 

(해시 마크없이).

문제가 쉽게 해결되기를 바랍니다. 행운을 빕니다!

var $new_div = $('<div id="' + blue_stage + '"></div>'); 

당신 같은 것들을 할 수 있도록 직접 요소를 편집 할 수 있습니다 :

$new_div.prepend(blue_html); 

당신이 할 ID를 변경하는을