2011-10-18 11 views
0

私は動的に作成したdivを持っており、ロードされたときにいくつかの要素を追加したいと思います。 jQueryの.load()と.live()は私を助けませんでした。ページにロードされた後に作成された要素にコンテンツを追加する方法

$('div#mydiv').load(function(){ 
    $(this).html('loaded!'); 
}); 
+0

divはどこに作成されますか?そこに '.html()'を追加できませんか? –

+0

私はそれに対処します。マヌエルありがとう。私はあまりにも邪魔になりました。 –

答えて

0

あなたは準備セクションでクリックするイベントを行う必要があります

$('input').live('click', function(){ 
     alert("!"); 
    }); 
0

それは問題がよりコンテキストなしであるかを知ることは非常に困難です。可能であれば、あなたがしようとしていることのより完全なスニペットを投稿してください。

これまでに投稿した内容から、#myDiv divはページの最初のHTMLには存在しません。だから私は二つの可能性を参照してください。。

  • あなたは要素を作成しています他のいくつかのJSを持っている(例えば$('#foo').append('<div id="myDiv"></div>')その後要素が利用可能となります「は」のようにすぐにあなたのコードは、ページ内のいくつかの要素に追加して。この場合、要素#fooがすでにDOM内にあると仮定すると、次の行で$('#myDiv').text('Loaded!')のようなことを行うことができます
  • この要素をAJAX呼び出しの一部として(ネットワーク経由で)ロードしています。 .loadを要素($('#foo').load('/someurl'))で使用すると、コンテンツが読み込まれると呼び出されるコールバック関数を持つ別のパラメータを追加することができます。またはその略語frienを使用している場合ds($.get,$.postなど)、およびsuccessまたはcompleteコールバックからコンテンツを動的に追加/作成する方法については、前の箇条書きのポイントを参照してください。

これが役に立ちます。より多くの文脈がなければ、あなたの質問に、より具体的な答えを与えるのは難しいです、申し訳ありません!

0

は、外部ファイルをロードしてみた後、コールバックにコードを挿入:

$('#mydiv').load('myfolder/myfile.html', function() { 
    $('#mynewdiv').html('loaded'); 
}); 

他のすべてが失敗した場合は、ファイルをロードするために$アヤックスを使用してみてください、そして、あなたのコンテンツを挿入するための完全なハンドラ。

関連する問題