Klar. Ich meinte eher sowas wie document.cookie = "attr1=val1; attr2=val2; ...". ;)
Falls du noch nicht herausgefunden hast, woran das Ersetzen scheiterte:
Das Problem ist die Zeile
document.cookie = document.cookie.replace(cookieContent , replaceString);
document.cookie liefert einen String der Form
"attr1=val1; attr2=val2; attr3=val3;"
Nun ersetzt du zum Beispiel val2 durch val222 und erhältst den String
"attr1=val1; attr2=val222; attr3=val3;"
den du mit
document.cookie = "attr1=val1; attr2=val222; attr3=val3;"
versuchst zu speichern. Das Problem ist nun (wie aus der von dir gelinkten Seite hervorgeht), dass der interne Cookie-Setter nur Strings der Form "name=value; expiry=... ; path=..." akzeptiert, das heißt, es gehen alle Name-Value-Paare nach dem ersten Name-Value-Paar verloren und damit kann auch immer nur das erste Name-Value-Paar verändert werden. Die Lösung ist denkbar einfach: extrahiere das gewünschte Name-Value-Paar aus dem String, der vom Cookie-Getter zurückgegeben wird und arbeite damit weiter.