Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add a different ID to each li element by jQuery

I'm new here and I'd like to ask a question about jQuery.

I have the unordered list like:

<ul id="pages">
    <li class="something"><a href="#"></a></li>
    <li class="something"><a href="#"></a></li>
    <li class="something"><a href="#"></a></li>
</ul>

And I'd like to add a different ID to every li displayed in this <ul> (eg. <li class="something" id="li1">...). Is there a way how to achieve this via jQuery?

Thanks a lot, Jakub

like image 274
Machi Avatar asked May 17 '10 08:05

Machi


1 Answers

As of jQuery 1.4, you can do this:

$('#pages li').attr('id', function(i) {
   return 'page'+(i+1);
});

In earlier versions, you'd need to write:

$('#pages li').each(function(i) {
    $(this).attr('id', 'page'+(i+1));
});

... which works in 1.4 as well. It's a matter of preference, I guess.

like image 108
David Hedlund Avatar answered Oct 19 '22 03:10

David Hedlund