2013-03-01 6 views
3

Почему это не работает?FB.XFBML.parse Uncaught [object Object]

$('.fb-like-button').each (function(){ 
    if ($(this).html() == "" || !$(this).html() || $(this).html() == "undefined") 
     { 
      $(this).html('<fb:like href="'+$(this).attr("data-url")+'" layout="button_count" send="false" show_faces="false" width="100" action="like" font="verdana" colorscheme="light" />'); 
      FB.XFBML.parse($(this)); 
      $(this).attr("class", "done"); 
     } 
}); 

Ошибка: Uncaught [объект Object]

+0

$ (this) .attr ("data-url") вы можете предупредить об этом и проверить URL-адрес? –

+0

Да, я сделал: console.log ($ (this) .attr ("data-url")) и правильный URL. Ошибка здесь: FB.XFBML.parse ($ (this)); – mitch

ответ

2

Хорошо, я нашел решение. Я не знаю почему, но это работает:

FB.XFBML.parse($(this).get(0)); 
+1

Причина: parse() ожидает объект DOM Element Object в качестве аргумента, а не объект jQuery. – fyodorananiev

Смежные вопросы