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」クラスを持つ「each」要素を見つけ、すべての投稿(class = genericStreamStory)にあるSPAN要素「uiStreamFooter」に「PermalinkedString」という文字列を追加することです。

ニュースフィードのすべての投稿の下に文字列を表示できます。 ただし、(すべての投稿の)リンクは最初の投稿のパーマリンクにすぎません。

それはjQueryの選択とトラバーサルのみに関係していると確信しています。自分でそれを理解することはできませんでした。

.genericStreamStory-すべてのFacebook投稿のクラス
.uiStreamSource-パーマリンクのアンカーを保持するスパン
.uiStreamFooter-「文字列」を追加する予定の「いいね」、「コメント」、「共有」ボタンを保持するスパン。

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 に答える