Changing an element's ID with jQuery

javascript, jquery

Solution

Your syntax is incorrect, you should pass the value as the second parameter:

jQuery(this).prev("li").attr("id","newId");

Problem

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.

Original source