FB.XFBML.parse () для отдельного элемента ничего не делает

У меня есть большая страница с "Загрузи больше" кнопка внизу; каждый клик наЗагрузи больше" загружает больше контента через AJAX. Часть этого контента - кнопки, похожие на Facebook:


После загрузки дополнительного контента, я могу попросить Facebook пересмотреть всю страницу с помощьюFB.XFBML.parse(); (что приводит к тому, что эти div превращаются в настоящие кнопки). Это работает отлично, однако, это становится медленным сразу, так как Facebook повторно анализирует контент, который уже был на странице, а не только новый контент. Каждый раз, когда пользователь нажимает "Загрузи больше" он анализирует всю страницу, так чтоВсе больше и больше для функции FB.

Сейчас здесьхорошие новости:документы для FB 'метод парсинга сказать:

... чтобы оценить только часть документа, вы можете передать один элемент.

FB.XFBML.parse(document.getElementById('foo'));

Поэтому я подумал, хорошо, когда пользователь нажимаетзагрузить больше "Я"оберну этот свежий HTML в уникальныйdiv, затем используйте jQuery, чтобы пройти черезdivнайдите все теги Facebook и попросите Facebook проанализировать только эти теги. Хорошая идея, верно? Но это нет работа. Код, похоже, передает элементы в Facebook после того, как онизагружены, но они нет разбора. Код:

// "c" is my container div (a jQuery object, i.e. c = $('#container'); ) 
// "load more" button
$('#loadmore').click(function() {
    $.ajax({
        url: "/loadmore.php",
        success: function(html) {
            if(html) {
                // wrap new HTML in special div & append
                newDivName = "d"+String(new Date().valueOf());
                var $newHtml = $(""+html+"");
                c.append($newHtml);

                // walk through new HTML and get all Facebook "like" buttons and parse them
                $('#'+newDivName+' .fb-like').each(function() {
                    FB.XFBML.parse(this);
                });
            }
        }
    });

});

Там'Нет сообщения об ошибке, просто нетне дает никаких результатов. Код отладки для консоли выглядит идеально, это 'найти все правильные элементы.

ОБНОВИТЬ поиграйте с этим в простой jsfiddle:http://jsfiddle.net/pnoeric/NF2jz/4372/

ОБНОВЛЕНИЕ 2 Я также попытался изменить код с HTML5 на FBML (нажмите "Получить код" на этой странице чтобы увидеть разницу), который не только имел тот же результат, но теперь также будет загружать только одну дополнительную кнопку при вызове ajax вместо двух. Так стало хуже! Вы можете поиграть с версией FBML здесь:http://jsfiddle.net/pnoeric/4QkbX/2/

Ответы на вопрос(2)

Ваш ответ на вопрос