2016-09-15 7 views
0

DOM 요소를 클래스로 가져 오려고 시도하고 있는데 왜 반환되지 않았는지 확실하지 않습니다. 문제없이 상위 요소를 쿼리 할 수 ​​있습니다. 콘솔Dojo가 undefined를 반환합니다.

 var contentPane = query('.contentPane', this.map.infoWindow.domNode)[0]; 
     var header = query('.header', this.map.infoWindow.domNode)[0]; 

     console.log(header); 
     console.log(contentPane); 

출력 :

>>undefined 

<div class="contentPane"> 
    <div class="esriViewPopup" id="esri_dijit__PopupRenderer_1" widgetid="esri_dijit__PopupRenderer_1"> 
    <div class="mainSection"> 
     <div class="header" dojoattachpoint="_title"></div> 
     <div class="hzLine"></div> 
     <div dojoattachpoint="_description"></div> 
     <div class="break"></div> 
    </div> 
    <div class="attachmentsSection hidden"> 
    </div> 
    <div class="mediaSection hidden"> 
    </div> 
    <div class="editSummarySection hidden" dojoattachpoint="_editSummarySection"> 
    </div> 
    </div> 
</div> 
+0

dojo를 사용하지 않았으므로 응답 할 수있는 최선의 방법은 아니지만 .header 노드에 내용을 추가하는 것이 어떤 차이가 있습니까? –

+1

'contentPane'은'infoWindow'의 일부이고 헤더 섹션은 동적으로 생성됩니다. 당신이 질주 할 때에 따라, 그것은 정의되지 않을 수 있습니다. fiddler를 설정하여 더 많은 코드를 쿼리하거나 공유하는 방법을 보여줄 수 있습니까? –

+1

'.header'는 하위 위젯의 일부입니다. 즉'.header'는 파싱하고 하위 폴더'esri_dijit__PopupRenderer_1'을 생성 한 후에 만 ​​dom에 있습니다. Chanc은 당신이 렌더링하기 전에'쿼리하기 '라는 것입니다. – ben

답변

0

.header는 쿼리의 시간에 렌더링되지 않은 여기 내 코드입니다. 포함 함수가 완료되면 query을 사용하여이 문제를 해결했습니다.

관련 문제