Использование jQuery .each () для перебора элементов одного идентификатора для .attr () в backbone.js

0

У меня есть кнопка для доступа к странице профиля на моем сайте. Я хочу добавить вторую кнопку на странице. Сайт находится в backbone.js, но эти кнопки находятся в меню как часть моего статического файла index.html.

В настоящее время я использую jQuery.attr() как таковую, чтобы ссылка перешла к соответствующему профилю:

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

Где res.id - номер идентификатора пользователя. "Это" относится к элементу "тело" в приложении backbone.js. Код находится в представлении в позвоночнике для "профиля".

Однако, когда я добавляю вторую кнопку, jQuery.attr() настраивает только первую кнопку href. Мне нужно, чтобы обе кнопки ссылались на правильный профиль пользователя, поэтому я пытаюсь использовать.each() для итерации через кнопки, например:

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

Есть ли причина, по которой это не работает, или моя ошибка где-то в другом месте, возможно, это связано с тем, что она является частью представления в магистрали? Благодарю!

Я сделал console.log(self); в строке выше, а self - [окно объекта] в консоли. Если я попытаюсь зарегистрировать его в итерационной функции, он будет регистрироваться только один раз.

Теги:
each
backbone.js

1 ответ

1
Лучший ответ

потому что идентификатор элементов должен быть уникальным... если вы хотите сгруппировать похожие элементы, тогда используйте атрибуты класса... затем используйте селектор классов, чтобы выбрать их

Ещё вопросы

Сообщество Overcoder
Наверх
Меню