0

我是一个新手,试图为 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”类的“每个”元素,将一个名为“Permalinked String”的字符串附加到每个帖子中找到的SPAN元素“uiStreamFooter”(类= genericStreamStory)。

我能够在我的新闻源中的所有帖子下获取字符串。 但是,链接(所有帖子)只是第一篇帖子的永久链接!

我确信它只与 jQuery 选择和遍历有关。我自己也想不通。

.genericStreamStory - 每个 facebook 帖子的类
.uiStreamSource - 包含永久链接锚点的跨度
.uiStreamFooter - 包含我打算添加“字符串”的 Like、Comment、Share 按钮的 span。

4

2 回答 2

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

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

所以使用类似的东西

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

相反,这应该可以按您的意愿工作。

于 2013-03-19T13:12:06.190 回答
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>");  
});
于 2013-03-19T13:19:34.843 回答