artgrosvil
@artgrosvil
#dev #programming #student #startups #chill

Как использовать attr в jquery?

Здравствуйте. Есть на странице у ссылок несколько параметров, а именно
data-button-id-file="" data-button-id-app="" data-button-name-file=""


В jquery добавляю этим параметрам значение:
$('#button-c-p-save-file').attr('data-button-id-file', id_file);
$('#button-c-p-save-file').attr('data-button-id-app', id_app);
$('#button-c-p-save-file').attr('data-button-name-file', file_name);


Но если таких параметров будет несколько на странице, он добавить только первым. Как быть?

Спасибо.
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
MaxKassa
@MaxKassa
Представитель платежной системы MaxKassa
Лучше так
$('#button-c-p-save-file').data('button-id-file', id_file);
Поле ID должно быть уникально. Используйте классы и все заработает
$('.button-c-p-save-file').data('button-id-file', id_file);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AndryG
$('#button-c-p-save-file')
Вы используете селектор "#"
...считается, что идентификаторы должны быть уникальны на странице, поэтому, найдя первый элемент с требуемым id, jQuery прекращает поиск и возвращает только его.


А дальше вы неверно используете data-атрибуты.
В jQuery используется функция data() и внутренний механизм хранения данных.
Значения html атрибутов data- используются только для инициализации этого хранилища и только. Поэтому дальше вам надо не значения атрибутов менять, а укзывать новые значения через data()
$('селектор').data({
    buttonIdFile : id_file,
    buttonIdApp: id_app,
    buttonNameFile: file_name});
// черточка в имени параметра преобразуется в верблюда,
//   а начальное data- отбрасывается совсем
Ответ написан
Комментировать
xnscripter
@xnscripter
Изначально что-то делаете не так.
Подскажите какую задачу решаете?

По задаче, скорее всего так :
$('#button-c-p-save-file').attr({'data-button-id-file':id_file, 'data-button-id-app':id_app,и тд.});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы