2017-06-28 1 views
0

解決済み:近いポストに移動しますが、今後の参考になる予定です。私が参照していた親divの子divは、AJAX呼び出しに依存していました。だから私は、テスト作業を簡単にするためにいくつかのスクリプトを書くことに...要素が存在してかどうかをチェックBELOWJavascript TypeError:window.onload関数内にネストされたプロパティを読み取ることができません。

私は取得しています

var checkExist = setInterval(function() { 
    if ($('parent').length) { 
     // do work on child elements 
     clearInterval(checkExist); 
    } 
}, 100); 

オリジナルのポストを維持する間隔を設定します。ページが完全に読み込まれるまで、これらのいくつかを実行するのを待つ必要があります。当然のことながら私はで...

window.onload = function() { code in here } 

巣私のコードをだから私は、私が存在することがわかっていると私はonloadイベントにネストされずに作品を知っているVarの要素を保存しようとしています。 varはこのように書かれています。

var element = document.getElementById('userPanel').getElementsByTagName('div')[0]; 

これはコンソールで実行でき、必要な要素を返します。 onload関数にネストされたスクリプトを実行するとき。これは型エラーをスローします。私はここで見落としているjavascriptのいくつかの基本原則ですか?ありがとう!ここで明確にするために

は一緒に

解決しよう
window.onload = function() { 
var element = document.getElementById('userPanel').getElementsByTagName('div')[0]; 
} 
+1

HTMLを含むすべての関連コードを入力してください。 –

+0

あなたは 'userPanel'要素がページの読み込みに存在していますか?それは、それがloadで実行される別の関数によって挿入される可能性がありますか、それとも後でですか? – duskwuff

+0

FYI要素を取得するには、より良い(より効率的な)方法があります: 'var element = document.querySelector("#userPanel div ");' –

答えて

0

を接着し、全体コードセクションです:近くのポストに移動するが、今後の参考のためにここに何が起こったかであるだろう。私が参照していた親divの子divは、AJAX呼び出しに依存していました。そこで、要素が存在するかどうかを確認する間隔を設定します。

var checkExist = setInterval(function() { 
    if ($('parent').length) { 
     // do work on child elements 
     clearInterval(checkExist); 
    } 
}, 100); 
関連する問題