使用jQuery.each()遍历backbone.js中.attr()的一个id的元素

使用jQuery.each()遍历backbone.js中.attr()的一个id的元素,jquery,backbone.js,each,Jquery,Backbone.js,Each,我在我的网站上有一个访问个人资料页面的按钮。我想在页面上添加第二个按钮。该站点位于backbone.js中,但这些按钮作为静态index.html文件的一部分出现在菜单上 目前,我正在使用jQuery的.attr()使链接转到正确的配置文件: self.$('#btn-profile').attr('href', '/profile/' + res.id); 其中res.id是用户的id号。“this”是指backbone.js应用程序中的元素“body”。代码位于“概要文件”的主干视图中 但

我在我的网站上有一个访问个人资料页面的按钮。我想在页面上添加第二个按钮。该站点位于backbone.js中,但这些按钮作为静态index.html文件的一部分出现在菜单上

目前,我正在使用jQuery的.attr()使链接转到正确的配置文件:

self.$('#btn-profile').attr('href', '/profile/' + res.id);
其中res.id是用户的id号。“this”是指backbone.js应用程序中的元素“body”。代码位于“概要文件”的主干视图中

但是,当我添加第二个按钮时,jQuery的.attr()只会调整第一个按钮的href。我需要两个按钮来引用正确的用户配置文件,因此我尝试使用.each()来迭代按钮,如下所示:

self.$('#btn-profile').each(function(){
    $(this).attr('href', '/profile/' + res.id);
})
这是不是有什么原因不起作用,或者我的错误在其他地方,可能是因为它是主干中视图的一部分?谢谢


我做了console.log(self);在上面的行中,self是控制台中的[object Window]。如果我尝试在迭代函数中记录它,它只记录一次。

因为元素的id必须是唯一的。。。如果要将类似元素分组,请使用类属性。。。然后使用类选择器选择它们

,因为元素的id必须是唯一的。。。如果你想对相似的元素进行分组,那么就使用class attributes,然后我将把它作为一个答案发布