Is there any method available to add IDs like there is for adding a class - addClass()?
This question is related to
jquery
jquery-selectors
Like this :
var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
do you mean a method?
$('div.foo').attr('id', 'foo123');
Just be careful that you don't set multiple elements to the same ID.
I've used something like this before which addresses @scunliffes concern. It finds all instances of items with a class of (in this case .button), and assigns an ID and appends its index to the id name:
$(".button").attr('id', function (index) {_x000D_
return "button-" + index;_x000D_
});
_x000D_
So let's say you have 3 items with the class name of .button on a page. The result would be adding a unique ID to all of them (in addition to their class of "button").
In this case, #button-0, #button-1, #button-2, respectively. This can come in very handy. Simply replace ".button" in the first line with whatever class you want to target, and replace "button" in the return statement with whatever you'd like your unique ID to be. Hope this helps!
Source: Stackoverflow.com