#javascript #jquery
#javascript #jquery
Вопрос:
Каков наилучший способ получить атрибут данных набора узлов в массиве в jQuery?
У меня этот синтаксис работает:
var ids = $("a.some_class").map(function(index, item) {return item.getAttribute('data-id');});
Есть ли какой-нибудь более простой синтаксис для этого?
Спасибо
Ответ №1:
Нет ничего проще, чем ваш map
подход, но data
метод with get
поможет выполнить все в кроссбраузерном режиме и вернуть чистый массив JavaScript:
var data = $('a.some_class').map(function() {
return $(this).data('id');
}).get();
Комментарии:
1. Чем отличаются данные, если вы используете или не используете .get() ? Спасибо
2. @ZackXu
.get()
преобразует объект, возвращенный из jQuery.map()
, в обычный массив JavaScript, так что вы сможете работать с ним как с простым массивом.
Ответ №2:
Попробуйте
var ids = $("a.some_class").map(function() {
return $(this).data('id'); //or return this.getAttribute('data-id');
}).get();