我是一个新手试图为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'。
答案 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>");
});