8

でロードしている要素の位置を変更する必要がありajaxます。使用して変更したいのです.css()が、jQuery が要素を見つけられないため、要素が認識されません。jQueryに要素を「認識」させるにはどうすればよいですか?

live()andについて読んだdelegate()ことがありますが、どちらも希望どおりに機能させることができません。助けていただければ幸いです。

4

3 に答える 3

20

ajax 呼び出しのcompleteor関数で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 を適用します。

于 2011-07-28T21:39:51.060 に答える
2

js 変数をマークアップする必要がある場合は、以下のように実行できます。

$(markup).find("requiredElement").css({ set the properties here });
于 2011-07-28T21:41:36.363 に答える
0

CSS を編集する場合は、最初に DOM に配置してから操作する必要があります。

例:

$.ajax({
    ...
    success:function(data){
        $('<div/>').appendTo('body').html(data).css('border','3px solid red');
    }
});
于 2011-07-28T21:39:47.000 に答える