Сортировка li в jQuery загруженных div - PullRequest
1 голос
/ 05 ноября 2010

Я делаю сайт на 3 языках, где мне нужно отсортировать комментарии со всех 3 языков, чтобы они были видны на страницах каждого языка. http://www.polinapasztircsak.com/guestbook/ Я попытался загрузить с помощью метода jQuery .load, и он работает, но проблема в том, что он загружает отдельные языки в div s (я не знал другого способа загрузить и добавить его), и я не могу отсортировать комментарий li s вне их div s. Вот код:

var commEng = $('<div></div>').load('../guestbook/ .comment');
var commHun = $('<div></div>').load('../vendegkonyv/?lang=hu .comment');
var commIta = $('<div></div>').load('../libro-ospiti/?lang=it .comment');

$(".commentlist").empty().append(commEng).append(commHun).append(commIta);

У вас есть другое предложение, как я мог бы загрузить в li s, чтобы они были вместе в одном и том же ul, а затем какой метод или плагин использовать для сортировки.

1 Ответ

1 голос
/ 05 ноября 2010

Вы можете попробовать использовать $.get или любые другие функции ajax для загрузки комментариев, а затем отсортировать их с помощью функции sort Javascript.Код будет выглядеть примерно так:

var loaded = 0, 
    sites = 3,
    comments = []; 

function getComments(url){
    $.get(url, function(data){
        comments[loaded++] = ($(data).find('.comment'));
        if(loaded === sites){
            var insert = comments[0];

            for(var i = 1; i < comments.length; i++){
                insert = insert.add(comments[i]);
            }

            $('.commentlist').append(insert.sort(function(a, b){
                var dateA = new Date($.trim($(a).find('.comment-meta:first a').text()).replace('at', '') + ' GMT'), 
                    dateB = new Date($.trim($(b).find('.comment-meta:first a').text()).replace('at', '') + ' GMT');

                return dateB.getTime() - dateA.getTime();
            }));
        }
    });
}

getComments('../guestbook/'); 
getComments('../vendegkonyv/?lang=hu');
getComments('../libro-ospiti/?lang=it');

Это позволит отсортировать элемент jQuery, полученный через ajax, с sort(), передав функцию, которая будет сравнивать даты комментариев, извлеченных из мета-комментария.Также помните, что div s в неупорядоченном списке ul не является допустимым HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...