0

サイトのプロフィール ページにアクセスするためのボタンがあります。ページに 2 つ目のボタンを追加したいと考えています。サイトは backbone.js にありますが、これらのボタンは静的な index.html ファイルの一部としてメニューにあります。

現在、リンクを適切なプロファイルに移動させるために、jQuery の .attr() を使用しています。

self.$('#btn-profile').attr('href', '/profile/' + res.id);

res.id はユーザーの ID 番号です。「this」は、backbone.js アプリの要素「body」を指します。コードは、「プロファイル」のバックボーンのビューにあります。

ただし、2 番目のボタンを追加すると、jQuery の .attr() は最初のボタンの href のみを調整します。適切なユーザー プロファイルを参照するには両方のボタンが必要なので、次のように .each() を使用してボタンを反復処理します。

self.$('#btn-profile').each(function(){
    $(this).attr('href', '/profile/' + res.id);
})

これが機能しない理由はありますか、それとも私のエラーが別の場所にあるのでしょうか。バックボーンのビューの一部である可能性がありますか? ありがとう!

console.log(self); を実行しました。上記の行で、self はコンソールの [object Window] です。反復関数でログに記録しようとすると、ログは 1 回しか記録されません。

4

1 に答える 1

1

要素のIDは一意でなければならないため...同様の要素をグループ化する場合は、クラス属性を使用します...次に、クラスセレクターを使用してそれらを選択します

于 2013-09-26T00:56:35.327 に答える