使用jQuery编辑许多元素的列表

时间:2014-11-10 22:03:52

标签: javascript jquery performance

我在列表中有100个(或更多)元素,与此非常相似:

$.ajax({
        url:'mysite.it/ajax/list_filter.php',
        data:data,
        type:'POST'
    }).done(function(data){
        var reback = $.parseJSON(data);
        var people = '';
        if(reback.success){ 
            if(reback.showcase){
                $.each((reback.showcase),function(index,item){
                    var exists = $('ul#ul_people_list input[value="'+item.userid+'"]');
                    if(exists){
                        exists.parent('li').remove();
                    }
                    people += '<li>';
                    people += '<input type="hidden" class="username" name="username" value="' + item.userid + '"/>';
                    people += '<a class="show_dtl';
                    if(item.vip != 0){people += ' vip ';}
                    people += '" href="usr_dtl">';
                    people += '<div><img src="'mysite.it/pict_thumbs/' +item.pool_user_pict+ '" style="height: 80px; left: 1px;"></div>';
                    people += '<label>' +item.username+ '</label>';
                    if(item.vip != 0){people += '<span class="icon-star"></span>';}
                    people += '</a></li>';
                });

                if(refreshType == 2){//if refreshing
                    $('#people_list ul#ul_people_list').prepend(people);
                } else {
                    $('#people_list ul#ul_people_list').html(people);
                }
            }
        } else {
            $('#people_list ul#ul_people_list').html('<li>' + reback.showcase + '</li>');}
    });

当我刷新列表(大约每20秒)时,我必须添加一些元素,更新一些元素并删除一些元素。
我用jQuery完成所有这些 这样做的最佳方式是什么,性能方面呢? 目前我使用value属性(在第二个输入元素中)来寻址我想要编辑的元素 如果我将代码更改为: <li id="/* userid */">
当然其他建议值得赞赏?

0 个答案:

没有答案