在我的页面上,我有一个主div,它是由一个链接插件生成的。我通过ajax调用简单的json对象得到这个链接。我需要将此链接替换为我的XFBML FB Like按钮的href属性。
在这里,我尝试过:
//application.js
$.getJSON('/full/path/show.json?' function(data) {
$('#maindiv').somePlugin(data.data_link);
//some actions
$('#facebook').attr('href', data.data_link);
});
//index.html
<div id ='facebook'>
<fb:like href="" layout="button_count" show_faces="false" width="450" colorscheme="dark"></fb:like>
</div>
但它没有升级href属性,只是默认离开我的页面链接。我究竟做错了什么?
答案 0 :(得分:3)
我不知道我是不是错了,但为什么div中的标签'fb:like'?它不应该是一个链接(标签)吗?
无论如何只需为fb设置href:like或a和NOT为Div。 Divs ussualy没有href属性。 :d
应该是这样的:
$('#facebook fb:like').attr('href', data.data_link);
正如Shaun Hare所说:你必须逃离结肠。刚试过它。作品。看起来像这样:
$('#facebook fb\\:like').attr('href', data.data_link);
如果数据链接是一个合适的JSON对象,它应该以这种方式工作。要更新链接,代码如下所示:
data = {data_link: 'http://example.com'};
$('#facebook fb\\:like').attr('href', data.data_link);
当然你可以通过AJAX获得JSON。如果它不起作用,请准确描述问题。
(PS:不要使用评论来提出新问题。)
答案 1 :(得分:2)
因为您试图从href
获取div
而没有fb:link
。
您是否尝试过将id
元素设为alert($('#facebook fb\\\\:like').attr('href'));
并将其作为目标?
更新:显然你需要转义命名空间 - 这可行
{{1}}
答案 2 :(得分:0)
//application.js
$.getJSON('/full/path/show.json?' function(data) {
$('#maindiv').somePlugin(data.data_link);
//some actions
$('#facebook').attr('href', data.data_link);
});
//index.html
<div id ='facebook'>
<fb:like href="" layout="button_count" show_faces="false" width="450" colorscheme="dark"></fb:like>
</div>