Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2003 Teil von August

SELFHTML Forumsarchiv
Objektbezeichnung zusammensetzen

Informationsseite
  1. Seite (JAVASCRIPT) Objektbezeichnung zusammensetzen von Thomas, 30. 08. 2003, 19:58
nach unten

Objektbezeichnung zusammensetzen

Die folgende Nachricht zum Thema stammt von: Thomas, 30. 08. 2003, 19:58

Hallo zusammen - ich verzweifle seit Tagen an einem kleinen Javascript-Problem, zu dem es bestimmt eine völlig simple Lösung gibt.

Ich muss eine Objektbezeichnung dynamisch zusammensetzen.

Also nicht:
document.bildname.src="pfeil.gif"

sondern bildname soll in einer Loop durch ein Präfix plus dem Index der Loop zusammengesetzt werden.
Also sowas wie

for(var i=0; i<concernedLayers.length; i++) {
   document.xyz+i.src="pfeil.gif";
 }

D.h. die Image-Ansprache soll loopen über xyz0, xyz1, xyz2 etc.

Auch mit dieser eval-Funktion habe ich's nicht geschafft.

Any ideas?

nach obennach unten

Objektbezeichnung zusammensetzen

Die folgende Nachricht zum Thema stammt von: Thomas Meinike, 30. 08. 2003, 20:07

Hallo,

»» sondern bildname soll in einer Loop durch ein Präfix plus dem Index der Loop zusammengesetzt werden.
»» Also sowas wie
»»
»» for(var i=0; i<concernedLayers.length; i++) {
»»    document.xyz+i.src="pfeil.gif";
      document.images["xyz"+i].src="pfeil.gif";
»»  }

MfG, Thomas

nach obennach unten

Objektbezeichnung zusammensetzen

Die folgende Nachricht zum Thema stammt von: benji, 30. 08. 2003, 20:15

»» Hallo,
»»
»» »» sondern bildname soll in einer Loop durch ein Präfix plus dem Index der Loop zusammengesetzt werden.
»» »» Also sowas wie
»» »»
»» »» for(var i=0; i<concernedLayers.length; i++) {
»» »»    document.xyz+i.src="pfeil.gif";
»»       document.images["xyz"+i].src="pfeil.gif";
»» »»  }
»»
»» MfG, Thomas

oder so

nach obennach unten

Objektbezeichnung zusammensetzen

Die folgende Nachricht zum Thema stammt von: benji, 30. 08. 2003, 20:13

Hallo !

»» Auch mit dieser eval-Funktion habe ich's nicht geschafft.
»» Any ideas?
Ja: benutze die eval-funktion richtig :) ALSO:


»» for(var i=0; i<concernedLayers.length; i++) {
»»    document.xyz+i.src="pfeil.gif";
»»  }


Also:

»»    document.xyz+i.src="pfeil.gif";
     eval("document.xyz" + i + ".src = \"pfeil.gif\";");

so muss das aussehen. eval macht also z.B. sowas:

  var 1 = "alert(\"";
  var text = "Hallo";
  var 2 = "\");";

  eval(1 + text + 2);

»» D.h. die Image-Ansprache soll loopen über xyz0, xyz1, xyz2 etc.
also was soll eigentlich dein document.xyz1.src ? Ein Bild kannst du so nicht ansprechen. Eher so: document.images[1] oder so: document.getElementbyId("xyz1") - ich denke, das willst du machen, oder so: document.getElementbyname("namedesobjekts"), naja, kannst es auch mit all machen, ist aber dumm (geht nur unter IE).

Letztenendes bekommst du dein Bild

  <img src="vorher.gif" id="xyz1">

auf jeden fall damit:

   eval("document.getElementbyId(\"xyz" + i + "\").src = \"pfeil.gif\";");

nacher zu src="pfeil.gif" !


»» Auch mit dieser eval-Funktion habe ich's nicht geschafft.
Jetzt schon :)

»» Any ideas?
schon gegeben ;)


benji

nach obennach unten

Objektbezeichnung zusammensetzen

Die folgende Nachricht zum Thema stammt von: Thomas Meinike, 31. 08. 2003, 10:27

Hallo,

»» so muss das aussehen. eval macht also z.B. sowas:
»»
»»   var 1 = "alert(\"";
»»   var text = "Hallo";
»»   var 2 = "\");";
»»
»»   eval(1 + text + 2);

Variablennamen duerfen nicht aus Ziffern bestehen und auch nicht damit beginnen.

»» auf jeden fall damit:
»»
»»    eval("document.getElementbyId(\"xyz" + i + "\").src = \"pfeil.gif\";");
»»
»» nacher zu src="pfeil.gif" !

Abgesehen davon, dass es noch immer getElementById lautet, ist auch hier eval() voellig ueberfluessig:

document.getElementById("xyz"+i).src="pfeil.gif";

MfG, Thomas

nach obennach unten

Objektbezeichnung zusammensetzen

Die folgende Nachricht zum Thema stammt von: benji, 31. 08. 2003, 21:34

Ja ok, auf solche Kleinigkeiten sollte man mal nicht achten...

Im grunde genommen egal.


benji

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2003 Teil von August

© 1998-2008 Seite Impressum, Software: Classic Forum