Hallo.
Ich erhalte im Fx und Konqueror die Ausgabe „1X3a5a“.
Jetzt wird es konfus. Ersetze ich das allererste „a“ gegen irgend einen anderen beliebigen Buchstaben, wird die Funktion wiederum korrekt ausgeführt und ich erhalte anstelle des vierten Zeichens das gewünschte „X“.
Setze ich das „a“ an die erste Stelle, wird es dort gegen das „X“ ersetzt.
Setze ich davor wiederum mindestens drei andere Zeichen, wird wiederum das zweite Zeichen ersetzt...Kann mir jemand dieses Verhalten erklären?
Ich hoffe, daß ist jetzt nicht ernst gemeint...
var x = "1a3a5a";
x = x.replace(x[3],"X");
// gleich > x.replace("a","X"); // da ((x[3] == "a" && x[3] === "a") == true)
// gleich > x.replace(new RegExp("a"),"X");
// gleich > x.replace(/a/,"X"); // man beachte nicht global!
// Der erste Parameter bei replace ist vom Typ RegExp.
alert(x); // 1X3a5a
Wiederschaun.