Получить значение атрибута каждого элемента из набора jQuery в массив - PullRequest
9 голосов
/ 16 марта 2011

Как я могу получить все атрибуты (например, href) всех элементов, соответствующих селектору jQuery?

Ответы [ 4 ]

28 голосов
/ 16 марта 2011

Что-то вроде

var idArray = $(".someClass").map(function(){
    return this.id
}).get().join(',');

Рабочая демоверсия

19 голосов
/ 16 марта 2011

Что-то вроде этого возможно?

var ids = [];

$('.myClass').each(function () {
  ids.push($(this).attr('id')); // ids.push(this.id) would work as well.
});
2 голосов
/ 27 января 2019

Однострочник с ES6 функциями стрелок , с использованием jQuery .map () :

const ids = $('a.someClass').map((i, el) => el.getAttribute('href')).get();

console.log(ids);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="test1" class="someClass">t1</a>
<a href="test2" class="someClass">t2</a>
<a href="test3" class="someClass">t3</a>
0 голосов
/ 10 ноября 2018

Более простое решение с Underscore.js

Например: Получить текст всех ссылок, чьи родители имеют класс someClass

_.pluck($('.someClass').find('a'), 'text');

Рабочая скрипка

...