If you want to use jQuery to execute a loop, you can use $.each() .
You cannot change an existing key, but you can replace a key / value pair with a new set with a new key and old value and delete the old set.
var classes = { red: 'Red', green: 'Green' }; var newClasses = {}; $.each( classes, function( key,val ) { newClasses["a-" + key] = val; });
Or with a regular for loop:
var classes = { red: 'Red', green: 'Green' }; var newClasses = {}; for( var name in classes ) { if( classes.hasOwnProperty( name ) ) newClasses["a-" + key] = classes[name]; });
var classes = { red: 'Red', green: 'Green' }; $.each( classes, function( key,val ) { classes["a-" + key] = val; delete classes[key]; });
EDIT: If you want to keep the original, or if some browsers have a problem with an infinite loop (I'm testing ...), follow these steps: C>
source share