John: replace() - ein Suchkriterium, verschiedener Ersetzungswert

Beitrag lesen

Hallo,

var a = ['0', '1', '2', '3'];

for (var i = 0, l = a.length; i < l; i++)
  {
  textDiv.innerHTML.replace(/[0-9]{5}/g, function(){return x[i];});
  }


> > Das funktioniert nicht. Sieht jemand den Fehler?  
> Sieht jemand, wo x herkommen soll?  

Verdammt.. Kleiner Tippfehler hier.  
  
Habe ein wenig umgeschrieben - es will aber immer noch nicht klappen:  
~~~javascript
var a = ['0', '1', '2', '3'];  
var m = textDiv.innerHTML.match(/[0-9]{5}/g);  
for (var i = 0, l = m.length; i < l; i++)  
  textDiv.innerHTML.replace(m[i], function(){return a[i];});  

Ich bekomme die korrekte Anzahl der zu treffenden Einträgen mit m.length
Ich bekomme den korrekten momentanen Wert m[i] in der Funktion mit alert(m[i])
Ich bekomme den korrekten momentanen Wert von a[i] in der Funtion mit alert(a[i])
Aber: es wird nichts ersetzt. Irgendwas läuft da nicht rund - aber was?

Grüße, John