Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Mai

SELFHTML Forumsarchiv
Listenelement ersetzen funktioniert nicht

Informationsseite
  1. Seite (JAVASCRIPT) Listenelement ersetzen funktioniert nicht von Bud Gerlad, 31. 05. 2007, 23:24
nach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: Bud Gerlad, 31. 05. 2007, 23:24

Hallo Leute,

ich habe ein Problem, aber ich werde meine Frage auf das nötigste reduzieren. Und zwar:

ich habe ein Array im HTML Dokument:

"var TextArray = new Array();"

In das Array speichere ich Strings. Sie werden auch tatsächlich gespeichert - ich habe es überprüft. Nun möchte ich ein Element aus diesem Array z.B. einem Listenobjekt zu ordnen, ungefähr so:

"document.getElementsByTagName("li")[0].firstChild.nodeValue = TextArray[1];"

Das Listenelement will ich sozusagen mit dem Arrayelement ersetzten. Leider bekomme ich im Listenelement "undefined" angezeigt.

Was ich wirklich niht verstehe und was meine Frage ist:

"document.getElementsByTagName("li")[0].firstChild.nodeValue = "Hallo"" funktioniert aber ein Element aus dem Array was eigentich auch ein String ist, funktioniert nicht. Warum nicht bzw. muss ich was anderes schreiben als "document.getElementsByTagName("li")[0].firstChild.nodeValue"?

Ich sitze schon seit 4 Stunden daran und wäre dankbar auf eine Antwort oder idee.

MfG

Bud

nach obennach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: Cheatah, 31. 05. 2007, 23:27

Hi,

»» In das Array speichere ich Strings. Sie werden auch tatsächlich gespeichert - ich habe es überprüft.

wo bzw. wann hast Du es überprüft?

»» "document.getElementsByTagName("li")[0].firstChild.nodeValue = TextArray[1];"

Was passiert, wenn Du alles von "document" bis "=" durch "alert(" und das abschließende Semikolon durch ");" ersetzt?

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes

nach obennach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: Buddy5, 01. 06. 2007, 10:29

»» Hi,
»»
»» »» In das Array speichere ich Strings. Sie werden auch tatsächlich gespeichert - ich habe es überprüft.
»»
»» wo bzw. wann hast Du es überprüft?
»»
»» »» "document.getElementsByTagName("li")[0].firstChild.nodeValue = TextArray[1];"
»»
»» Was passiert, wenn Du alles von "document" bis "=" durch "alert(" und das abschließende Semikolon durch ");" ersetzt?
»»
»» Cheatah
»»

Wenn ich das mache was du sagst, kommt natürlich den Text angezeigt. Wenn ich die Semikolon entferne bekomme ich ein popupfenster angezeigt mit undefinied.

ich tue mal den kompletten quellcode rein, dann könnt ihr mein Problem besser nachvollziehen:

<html>
<head>
<title>test</title>
<script type="text/javascript">

TextArray = new Array();
var i = 0;

while (i < document.getElementsByTagName("li").lenght) {
 TextArray[i] = document.getElementsByTagName("li")[i].firstChild.nodeValue;
 i++;
}


function Wechsel()
{
 //alert("TextArray[2];")
 document.getElementsByTagName("li")[1].firstChild.nodeValue = TextArray[2];
}

function Start()
{
 document.all.style1.style.color = "blue";
 document.all.style2.style.color = "red";
 document.all.style3.style.color = "yellow";
 document.all.style4.style.color = "green";
}

</script>
</head>
<body onLoad="Start()">

<ol>
 <li id="style1">Text1</li>
 <li id="style2">Text2</li>
 <li id="style3">Text3</li>
 <li id="style4">Text4</li>
</ol>

<a href="javascript:Wechsel()">Methode1</a>

</body>
</html>

nach obennach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: Buddy5, 01. 06. 2007, 10:33

nachtrag:

ich habe natürlich var "TextArray = new Array();" stehen statt "TextArray = new Array();". hatte es nur kurz weg gemacht zum testen

MfG

Bud

nach obennach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: rfb, 01. 06. 2007, 10:53

Moin

wenn dein JavaScript dies abarbeitet:
»» while (i < document.getElementsByTagName("li").lenght) {
»» TextArray[i] = document.getElementsByTagName("li")[i].firstChild.nodeValue;
»» i++;
»» }

existiert noch kein li, denn die werden erst hier:
»» <ol>
»» <li id="style1">Text1</li>
»» <li id="style2">Text2</li>
»» <li id="style3">Text3</li>
»» <li id="style4">Text4</li>
»» </ol>
erschaffen.

Setz also deine while-Schleife (besser noch eine for-Schleife) mit in die start-Funktion.

Gruß
rfb
--
Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
(Galileo Galilei)

nach obennach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: Buddy5, 01. 06. 2007, 12:11

»» Moin
»»
»» wenn dein JavaScript dies abarbeitet:
»» »» while (i < document.getElementsByTagName("li").lenght) {
»» »» TextArray[i] = document.getElementsByTagName("li")[i].firstChild.nodeValue;
»» »» i++;
»» »» }
»»
»» existiert noch kein li, denn die werden erst hier:
»» »» <ol>
»» »» <li id="style1">Text1</li>
»» »» <li id="style2">Text2</li>
»» »» <li id="style3">Text3</li>
»» »» <li id="style4">Text4</li>
»» »» </ol>
»» erschaffen.
»»
»» Setz also deine while-Schleife (besser noch eine for-Schleife) mit in die start-Funktion.
»»
»» Gruß
»» rfb

Du hast recht. Wenn die Schleife abgearbeitet wird gibs die Elemente noch nicht. Ich habe jetzt das Array Global direkt am anfang deklariert und initialisiert aber die Schleife an sich wird erst mit dem Button gestartet. Danke für den Tip. Es lohnt sich wieder zu leben ;-)

Vielen dank..

Gruß

Bud

nach obennach unten

Listenelement ersetzen funktioniert nicht

Die folgende Nachricht zum Thema stammt von: Gunnar Bittersmann, 31. 05. 2007, 23:29

Hello out there!

»» aber ein Element aus dem Array was eigentich auch ein String ist, funktioniert nicht.

Doch.

»» muss ich was anderes schreiben als "document.getElementsByTagName("li")[0].firstChild.nodeValue"?

Nein.

Aber was steht in TextArray[1] drin?

See ya up the road,
Gunnar
--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Mai

© 1998-2006 Seite Impressum, Software: Classic Forum