My code :
<a id="render-me" href="javascript:void(0);">Render me</a>
<div id="social-facebook"></div>
$('#render-me').click(function (e){
e.preventDefault();
$('#social-facebook').html("<fb:like id='button-facebook' href='http://www.google.com' send='false' layout='button_count' width='450' show_faces='false'></fb:like>");
FB.XFBML.parse(document.getElementById('button-facebook'));
});
I click, but the button is not rendered. Where am I wrong?
You have to specify a node already in DOM. So, you can't use:
FB.XFBML.parse(document.getElementById('button-facebook'));
use instead:
FB.XFBML.parse(document.getElementById('social-facebook'));
and it will work fine ;)
Try to add this markup
<div id="fb-root"></div>
in bottom of page and make sure you are added FB script. Please have a look the image
Please follow these steps you will able to solve you problem.
For more info please go through this link https://developers.facebook.com/docs/reference/plugins/like/
来源:https://stackoverflow.com/questions/12840786/why-fb-xfbml-parse-doesnt-render-my-plugin