でロードしている要素の位置を変更する必要がありajax
ます。使用して変更したいのです.css()
が、jQuery が要素を見つけられないため、要素が認識されません。jQueryに要素を「認識」させるにはどうすればよいですか?
live()
andについて読んだdelegate()
ことがありますが、どちらも希望どおりに機能させることができません。助けていただければ幸いです。
ajax 呼び出しのcomplete
or関数でcss を変更します。success
あなたが使用していると仮定しますload
:
$('#el').load(
url,
data,
function(){
$('#selector').css('position', 'absolute');
}
);
代わりに (そして例として挙げるのが簡単です)ajaxComplete
イベントを登録します
$(document).ajaxComplete(function(){
if($('#elementID').length != 0) {
$('#elementID').css('position', 'absolute');
}
});
これは、ajax リクエストが完了するたびに発生し、#elementID が存在するかどうかを確認し、存在する場合は css を適用します。
js 変数をマークアップする必要がある場合は、以下のように実行できます。
$(markup).find("requiredElement").css({ set the properties here });
CSS を編集する場合は、最初に DOM に配置してから操作する必要があります。
例:
$.ajax({
...
success:function(data){
$('<div/>').appendTo('body').html(data).css('border','3px solid red');
}
});