bazmegakapaの答えはかなり良いですが、私は自分で行くと思いますが、ここでもう一つの方法である:ドキュメントがロードされている(と、そのイベントにアタッチスクリプトが持つと
その後に追加されたHTMLは、あらかじめスクリプトで使用できません。
だからまだ存在しない要素を選択するために、私が知っている他の二つの方法があります。
あなたはまだ存在しない要素にハンドラをバインドする.on()
を使用することができます。これは私がおよそたくさん知っているものではありませんが、これは役立つかもしれない: http://api.jquery.com/on/
、あなたがそれにハンドラをバインドする前にHTMLを追加するまで、別の方法が待っている - 例:
$(function(){
//i run when the doc loads
$.get('someurl', function(data){
$('body').append('<img src="'+data+'" id='myNewElem'/>');
//I run after the element is added to the DOM, so I can select it here
$('img#myNewElem').fadeOut();
});
});
は再び私はいいと思います個人的にはこれまでの答えで、これはあなたが同じことを成し遂げることができる他の方法です。
EDIT:
ビットより関連性のあなたにある第三のオプションを使用すると、ページに追加画像に負荷()イベントを添付して、イメージのロードが完了したら、それをフェードアウトすることです。
例:
$('#elem').html('<img src="someSrc" id="myImage">');
$('#myImage').load(function(){
$(this).fadeOut();
});
画像がページ上に表示される前にこれが起こってフェードを防止するであろう。
ホープこれは
彼はそれをやっている? [FIDDLE](http://jsfiddle.net/DQyC6/1/) – adeneo
イメージの読み込みに時間がかかると競合状態が発生する可能性があります。画像がまだ表示されていないため、アニメーションなしでフェードアウトすることができます。 – jammypeach
@adeneoうまくいきます。しかし、要素を作成してDOMに追加するだけで、DOMを追加してからDOMを読み込むことはうまくいかない場合があります。 – kapa