Reputation: 31709
How can I get all attributes (e.g. href
) of all elements matching a jQuery selector?
Upvotes: 13
Views: 16790
Reputation: 152056
One-liner with ES6 arrow functions, using 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>
Upvotes: 2
Reputation: 6549
More simple solution with Underscore.js
For example: Get all links text who's parents have class someClass
_.pluck($('.someClass').find('a'), 'text');
Upvotes: 0
Reputation: 187050
Something like
var idArray = $(".someClass").map(function(){
return this.id
}).get().join(',');
Upvotes: 34
Reputation: 47988
Something like this perhaps?
var ids = [];
$('.myClass').each(function () {
ids.push($(this).attr('id')); // ids.push(this.id) would work as well.
});
Upvotes: 23