2012-03-09 4 views
1

jQueryで.appendの要素を作成しています。要素が存在するときに実行したい機能があります。要素の存在後に起動する関数の作成

appendコマンドの実行直後に要素が存在しないことがわかりました。だから私はそれを存在上で実行させることができますか?

+2

これは当てはまりません。すぐに '.append()'が起き、要素にすぐにアクセスできます。 –

+0

コードを投稿する必要があります...関数を追加して関数を呼び出すと、存在する場合は要素が見つかります – charlietfl

+0

* "...要素が生まれた後" * - 要素が生まれました;-) –

答えて

2

あなたはDOMNodeInsertedイベントに結合するが、これを行うときは、IE8と古いのサポートを失うことに注意してくださいすることができます

$(document).on('DOMNodeInserted', '.my-element-class', function() { 
    $(this).css({ backgroundColor : 'red' }); 
}); 

ここでのイベントのためにMDNドキュメントだ、「突然変異イベント」の下に見て:https://developer.mozilla.org/en/DOM/DOM_event_reference

、要素はあなたがDOMに追加した後存在しないので、あなたはおそらく間違ってそれを選択しようとしているものの:

$('body').append('<div>My New Div!</div>').children().last().css({ backgroundColor : 'red' }); 
ここでは0

あなたがDOMに追加した後、あなたは直接の要素を選択することができることを示すデモです:このコードは.append()は、それは追加のコンテナの最後の子として新しい要素を追加することを利用していることhttp://jsfiddle.net/AH6RG/

注意に。したがって、コンテナの子を選択し、最後の子を選択することで選択できます。

関連する問題