Hallo Flo,
Und zwar klemmt es bei der Split()-Funktion aber nur bei der Gecko-Engin. Bei folgendem Sript
Also bei mir (Netscape 6.2.1
Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; QXW03329) Gecko/20011128 Netscape6/6.2.1) läuft's so, wie Du willst. Ganz sauber ist es aber nicht programmiert.
Versuch einer Erklärung (ohne Gewähr):
<html>
<body>
<pre>
<script language="JavaScript">var satz = "EIN_KLEINER_TEST";
var satz steht im Arbeitsspeicher als String
var satz = satz.split("_");
eine _neue_ _zusätzliche_ var satz steht im Arbeitspeicher als Array
document.writeln("satz[0] = " + satz[0]);
hier wird der String satz angesprochen. Warum? Keine Ahnung.
document.writeln("satz = " + satz);
hier wird das Array satz angesprochen. Warum? Keine Ahnung.
</script>
</pre>
</body>
</html>gibt er folgendes aus:
============================================
satz[0] = E
satz = EIN,KLEINER,TESTDas passt ja aber nicht da satz[0] ja "EIN" sein müsste. Unten, wenn man sich den ganzen Array ausgeben lässt, zeigt er es ja sogar richtig an.
Ich vermute das er es nicht ganz schnallt das "satz" ein Array ist und einfach als String behandelt.
Ja, das ist wohl so.
Probiers mal so:
<script language="JavaScript" type="text/javascript">
var satz = "EIN_KLEINER_TEST";
var woerter = new Array();
woerter = satz.split("_");
document.writeln("woerter[0] = " + woerter[0]);
document.writeln("woerter = " + woerter);
//Test mit String satz:
document.writeln("satz[0] = " + satz[0]);
</script>
Gruß
Axel