2016-12-09 1 views
5

ロードされたクラスで、内部HTMLを変更することができません:site.phpjQueryとload()。私はこの関数によってロードされたdivの中にインナーHTMLを変更しようとしている

$("#container").load("site.php");

は私が<div class="users_count">を持っていると私はその中にいくつかのテキストを配置したいと思います。私は$(".users_count").html("TEST")を使用しようとしていますが、jQueryは.users_countクラスを参照していないため、実行できません。

私はjQueryのon()live()について聞いたきたが、それはclick, keyup etc...私はとにかくせずに、このdiv要素にテキストを配置する必要があり

のようないくつかのイベントが必要です - ちょうど、ユーザーの操作なしで私の機能でそれを行います。それは、関連するコンテキストを設定した方が良いですので、あなたはほとんどの場合、ターゲット要素がロードされたコンテンツの子孫ではないたくないだけ$('.users_count')

$("#container").load("site.php", function(){ 
    $(this).find('.users_count').html('TEST'); 
}); 

$(this).find('.users_count')がisntead:

+2

ここに完全なコードを投稿してください – Blueblazer172

+1

次回はこのような基本的な質問をする前に検索してください。同様の質問は既に何度も尋ねられており、さらに重複する質問は必要ありません。 –

答えて

10

$.fn.load()が非同期である、あなたはcompleteコールバックを使用することができます、selectorに従ってください。お使いの場合には、それは何も変わらないだろうが、時には誰もが知っている...

+1

同様の質問が既に何度か尋ねられています(「jquery access loaded element」を検索するといくつか見つけることができます)。それに答える代わりに、良い重複ターゲットを見つけてこの質問を閉じるべきです。 –

+0

@Gothdo確かにあなたの提案された複製は、読み込まれたコンテンツのターゲット設定に関する質問に明確には答えていません。しかし確かに、より良い房が見つかるかもしれません。 –

13

あなたはload()の完全なコールバックを使用することができます

「完全な」コールバックが提供されている場合、それは後の後に実行されます処理とHTML挿入が実行されました。

$("#container").load("site.php", function() { 
    $(".users_count").html("TEST") 
}); 

は、この情報がお役に立てば幸いです。

+2

同様の質問が既に何度か尋ねられています(「jquery access loaded element」を検索するといくつか見つけることができます)。それに答える代わりに、良い重複ターゲットを見つけてこの質問を閉じるべきです。 –

8

読み込みが完了したら、何かしたいですか?これは、完全なコールバックで行われます。

$("#result").load("ajax/test.html", function() { 
    alert("Load was performed."); 
    // Do your stuff here 
}); 
-1

私はjQueryのからlive()on()を必要としない別の解決策を持っています。

私は私がexample.phpに私のクラスで使用するすべての私の機能が含まれている<script type ="text/javascript" src="myFunctions.js"></script>を入れて右</body>example.php$("#container").load("example.php");を行う

今、私のexample.phpがロードされているので、私のjQuery関数はクラスやIDの検索に問題がありません。

+0

JavaScriptは非常に非同期です。このコンセプトを理解することが早くなればなるほど、早く離れることができます。 –

関連する問題