0

私はカウントダウンの後にelements取得する状況を作成しましたが、既存のものを置き換えたり複製したりしたくありません.IDによる新しいliのみが必要です. 全体を空にして、新しい 1 または 2 と古い 9-100 に置き換えようとしましたが、ul に含まれる要素の数によっては時間がかかり、ロードが遅れる原因になります...だから私は単一のものだけが欲しいコードを微調整する方法についての新しいアイデアはありますか?appendtoulliul

jquery:

    $.ajax({
            url: "morphelo/splash.php",
            type: "POST",
            data: "x=int",
            datatype: "html",
            success: function(data){
                var Data = $.parseJSON(data);

                var Clus = Data.clu;
                console.log(Clus);
                var cl = Clus.length; 
                var aci = new Array(); var i = 0;

                if(cl > 0){
                    var clu = $('.clu_holder').children('.clu'); // every clutch li
                    $.each(clu,function(x,y){
                        var clutchid = $(this).attr('id');

                        $.each(Clus,function(){
                            if(this.ckey == clutchid){
                                // dont worrie about me
                            }else{
                                // put me in coach
                                var newLi = '<li class="clu" id="'+this.ckey+'">clu</li>';
                                $(newLi).appendTo('.clu_holder').fadeIn();
                            }
                        });

                    });


                }else{

                }
} 
4

1 に答える 1

0

あなたの問題は、ループ内でループを実行していることだと思います。私はこのようなことをすると思います。私はそれをテストしていません。これは簡単なモックアップです。

if(cl > 0){
   var holder = $('.clu_holder');
   $.each(Clus,function(){
       if(holder.find("#"+ this.ckey).length == 0){
           var newLi = '<li class="clu" id="'+this.ckey+'">clu</li>';
            holder.append(newLi).fadeIn();
        }
    });
 }

私が変更したのは次のとおりです。

ホルダー要素を保存して、毎回検索しなくても要素を追加できるようにします。

1つのコレクションをループするだけで、要素にIDがあるため、検索で見つけることができます。

于 2012-05-22T07:38:56.293 に答える