通过jquery获取newsfeed中每个帖子的永久链接

时间:2013-03-19 12:59:14

标签: jquery facebook jquery-selectors google-chrome-extension

我是一个新手试图为Facebook的Chrome扩展程序编码。

我的要求
1.在Like / Share / Comment区域附近显示“字符串”(在HTML中找到class ='uiStreamFooter') 2.将字符串链接到帖子的固定链接。

我做到了。这是我面临的问题:

  $('.genericStreamStory').each(function(){
       var link = $('.uiStreamSource').find('a').attr('href');
       $('.uiStreamFooter').append("<span class='string'><a href='"+ link +"'>Permalinked String</a></span>");  
});

我在这里要做的是找到带有'genericStreamStory'类的'each'元素,将一个名为'Permalinked String'的字符串追加到每个帖子中找到的SPAN元素'uiStreamFooter'中(使用class = genericStreamStory) )。

我能够在我的新闻源中的所有帖子下找到该字符串。 但是,链接(所有帖子)只是第一篇文章的固定链接!

我确定它必须与jQuery选择和遍历有关。 我自己也搞不清楚了。

.genericStreamStory - 每个facebook帖子的班级 .uiStreamSource - 包含永久链接的锚点的范围
.uiStreamFooter - 包含Like,Comment,Share按钮的范围,我打算添加我的'String'。

2 个答案:

答案 0 :(得分:1)

$('.genericStreamStory').each(function(){
   var link = $('.uiStreamSource').find('a').attr('href');

您不会将此处的.uiStreamSource元素搜索限制为特定的.genericStreamStory - 因此它只会获取文档中找到的第一个元素的属性。

所以请使用类似

的内容
var link = $(this).find('.uiStreamSource a').attr('href');

相反,它应该按照你想要的方式工作。

答案 1 :(得分:1)

试试这个

$('.genericStreamStory').each(function(){
       var link = $(this).find('.uiStreamSource a').attr('href');
       $(this).find('.uiStreamFooter').append("<span class='string'><a href='"+ link +"'>Permalinked String</a></span>");  
});