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

时间:2013-09-26 00:12:54

标签: jquery backbone.js each

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

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

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

其中res.id是用户的ID号。 'this'指的是backbone.js app中的元素'body'。代码位于“配置文件”的主干视图中。

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

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

这是不是有效的原因,或者是我的错误在其他地方,也许是因为它是Backbone中的View的一部分?谢谢!

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

1 个答案:

答案 0 :(得分:1)

因为元素的id必须是唯一的......如果你想对类似的元素进行分组,那么使用类属性...然后使用类选择器来选择它们