2017-01-04 9 views
0

関数呼び出し中に追加したHTML要素でjquery文を使用する適切な方法は何ですか?jQueryは.html()要素でどのように実行する必要がありますか?

Reset: function() { 
$("#viewarea").empty(); 

Loader: function() { 
Reset(); 

$("#viewarea").html(//HTML CODE); 
$(function() { 
    $("#viewarea").each(function(index){ 
     console.log(this); 
    }); 
}); 

マイコードには、div要素をクリアしてコンテンツをページに追加するこのローダー機能があります。私は新しいページに切り替えるときに、私はviewarea全体をクリアし、新しいコンテンツを書くので、私はページをリロードする必要はありません。私の問題は、要素がページに描画され、jQueryセレクタがこれらの要素を見つけられないことです。現在、jquery文はドキュメント上で実行されますが、それがなくても要素を見つけることはできません。

解決策は、jQueryステートメントが$()。html()でページ上の要素を探す前に待つようにする何らかのタイプのメソッドであるべきだと思います。

+0

jqueryステートメントでは、新しく追加されたDOMコンテンツの要素が見つかりませんか?ちょっと興味があるんだけど。コンテキストのサンプルを切り詰めましたか? –

+0

それは '$("#viewarea ")のようです。それぞれは意味がありません。 – Banzay

+0

は、html()の代わりに 'append()'を使う方が良いわけではないので、DOMは追加されたオブジェクトに応じて構築されます – Banzay

答えて

0

これは実際には正しいですが、これは非同期のAJAX呼び出しの中にあることを忘れていました。だから、私の要素が描かれていたが、私のjqueryにまっすぐにスキップし、それらを実行し始めたが、AJAXはしばらく前に終了することがあった。レッスンでは、htmlを使用してjquery文を追加して使用できますが、非同期文ではないことを確認しました。

関連する問題