I need to change an element's ID using jQuery.
Apparently these don't work:
jQuery(this).prev("li").attr("id")="newid"
jQuery(this).prev("li")="newid"
I found out that I can make it happen with the following code:
jQuery(this).prev("li")show(function() {
this.id="newid";
});
But that doesn't seem right to me. There must be a better way, no? Also, in case there isn't, what other method can I use instead of show/hide or other effects? Obviously I don't want to show/hide or affect the element every time, just to change its ID.
(Yep, I'm a jQuery newbie.)
Edit
I can't use classes in this case, I must use IDs.
if you want to change old id then now show in example
and chage by use java-script
Eran's answer is good, but I would append to that. You need to watch any interactivity that is not inline to the object (that is, if an onclick event calls a function, it still will), but if there is some javascript or jQuery event handling attached to that ID, it will be basically abandoned:
If the ID is now changed to #myID123, the function attached above will no longer function correctly from my experience.
This could do for all purpose. Just add before your body closing tag and don't for get to add Jquery.min.js