2016-09-15 4 views
0

私はクラスによってDOM要素を取得しようとしていますが、その戻り値が未定義であるかどうか不明です。私は何の問題もなく親要素を問い合わせることができます。ここに私のコードは次のとおりです。Dojoクエリは未定義を返します

 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を使用していないので、私は答えには最適ではありませんが、そのヘッダーノードにいくつかのコンテンツを追加して何か違いはありますか? –

+1

'contentPane'は' infoWindow'の一部ですが、ヘッダーセクションは動的に作成されます。あなたが調律しているときに応じて、それは不定になる可能性があります。どのように質問したり、もっとコードを共有しているかを示すために、フィドラーをセットアップできますか? –

+1

'.header'はサブウィジェットの一部です。これは、 '.header'がDOM内にあるのは、サブウィジェット' esri_dijit__PopupRenderer_1'を解析して作成した後だけです。 Chancはレンダリングの前に 'クエリ'を実行しています – ben

答えて

0

.headerは、クエリの時にレンダリングされませんでした。私はqueryを使用して、これを含む関数が完了したときにこれを解決しました。

関連する問題