在我的页面上,我有main 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属性,默认情况下只保留我的页面的链接。我做错了什么?
发布于 2011-02-20 21:48:35
我不知道我是否弄错了,但是为什么标签在div中是'fb:like'?它不应该是一个链接(一个标签)吗?
无论如何,只需为fb:like或a设置href,而不是为Div。Div通常没有href属性。:D
应该看起来像这样:
$('#facebook fb:like').attr('href', data.data_link);正如Shaun Hare所说:你必须避开冒号。只是测试了一下。很管用。看起来像这样:
$('#facebook fb\\:like').attr('href', data.data_link);如果data link是一个合适的JSON对象,它应该是这样工作的。要更新链接,代码如下所示:
data = {data_link: 'http://example.com'};
$('#facebook fb\\:like').attr('href', data.data_link);当然,您可以通过AJAX获取JSON。如果不起作用,请准确地描述问题。
(附言:不要使用评论来提出新问题。)
发布于 2011-02-20 21:43:58
这是因为您正在尝试从没有href的div获取它。您有没有尝试过给fb:link元素一个id并将其作为目标?
更新:显然你需要转义命名空间--这是可行的
alert($('#facebook fb\\\\:like').attr('href'));发布于 2011-02-20 23:55:02
//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>https://stackoverflow.com/questions/5057340
复制相似问题