2016-09-15 43 views
0

我想通過類獲取DOM元素,並不確定爲什麼它返回undefined。我可以查詢父元素沒有任何問題。這裏是我的代碼: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

我還沒有使用道場,所以我不是最好的答案,但增加了一些內容到那個.header節點有什麼區別? –

+1

'contentPane'是'infoWindow'的一部分,而header部分是動態創建的。取決於你在什麼時候查詢,它可能是未定義的。你可以設置一個提琴手來展示你如何查詢或分享更多的代碼。 –

+1

'.header'是subwidget的一部分。這意味着只有在解析並創建子組件'esri_dijit__PopupRenderer_1'後,'.header'纔在dom中。 Chanc是你在提交 – ben

回答

0

.header在查詢的時候並沒有呈現。當包含功能完成時,我通過使用query解決了這個問題。