Path: csiph.com!news.swapon.de!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!news-1.dfn.de!news.dfn.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Maik Koenig Newsgroups: de.comp.lang.javascript Subject: =?UTF-8?Q?Re:_Schleife_f=c3=bcr_document.getElementBy_..._innerHTML?= =?UTF-8?Q?=3f?= Date: Thu, 13 Aug 2015 22:50:26 +0200 Lines: 53 Message-ID: References: <20150812093317.00f07bc8@ravenworks.netz> <95996164.TSO6ZjPLRg@PointedEars.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net T1hAVBh1bXeXbaAWrZG+aAsGPv6nHybMBY9CX8woSEPl/UF0KQ Cancel-Lock: sha1:zYVc+TECSLe/usDXOoKEZQ4wEOc= User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 Hamster/2.1.0.1538 In-Reply-To: <95996164.TSO6ZjPLRg@PointedEars.de> Xref: csiph.com de.comp.lang.javascript:4705 Am 13.08.2015 um 12:32 schrieb Thomas 'PointedEars' Lahn: > Maik Koenig wrote: > >> Am 12.08.2015 um 09:33 schrieb Sascha Hüdepohl: >>> Maik Koenig schrieb: >>>> Ich habe ein JavaScript in dem u.A. reichlich Variablen a la >>>> "FooBar1", "FooBar2" etc mit Inhalten befüllt werden. Die sollen >>>> jetzt ins Dokument geschrieben werden und zwar dort wo die >>>> entsprechende ID innerhalb des Dokuments auftaucht: >>> >>> Das Problem dabei ist an die Namen der Variablen zu kommen. >>> >>> Wenn Du die Variablen alle nach dem gleichen Schema benannt hast und >>> sie global sind, dann könnte folgendes funtionieren: >>> >>> var target, i; >>> for (i = 0; i < 10; i += 1) { >>> if (window['FooBar' + i]) { >>> target = document.getElementById('FooBar' + i); >>> if (target) { >>> target.textContent = window['FooBar' + i]; >>> } >>> } >>> } >> >> Perfekt, das klappt, Danke! > > Abgesehen von der bereits erwähnten Fehlerträchtigkeit aufgrund der > Besonderheiten von “window” (unter anderem darf keine Variable so wie eine > Eigenschaft von “window” heissen – das schliesst auch IDs und -Namen ein) Also die Namen der Variablen schliessen das praktisch aus. > klappt das genau so lange, wie der Variablenwert nicht zu “false” > konvertiert wird, also nicht undefined, null, false, 0, NaN oder "" ist: Das muss ich vorab ohnehin abfangen, da die Variablenwerte nachfolgend für Berechnungen benutzt werden sollen. Und "NaN" und ähnliches wäre als Ergebnis sehr irritierend. > „Perfekt“ ist daher etwas anderes. Man kann Haare spalten, ja. Muss man aber nicht wenn man es nicht braucht. > Und wie gesagt: Du erfindest hier das Rad schlechter neu. Es tut was es soll, es dreht sich ohne Ruckler. Greetz, MK -- blog.maikkoenig.de // Des Wahnsinns fette Beute.