online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon eisbärbaby vom 01.06.2019, 12:21 Options

document.all.+variable+.style

Hallo

die Überschrift deutet es schon an. Ich habe in einem Script das:

document.all.container.style

Damit wird ein Div Element verändert. Nun möchte ich diese Funktion so umschreiben das mehrere Div-Elemente verändert werden können.
Dafür muss im Script (dort wo container steht) eine Variable stehn.
Leider sind meine Ansätze allesamt gescheitert. Ich würde mich sehr freuen wenn mir jemand einen Tip geben könnte.


Antwort schreiben

Antwort 1 von solange vom 01.06.2019, 12:37 Options

wenn es alle divs sein sollen, kannst du diese über den array "getElementsByTagName()" ansprechen. wenn nur bestimmte divs gemeint sind, gebe diesen denselben namen. dann kannst du mittels "getElementsByName()" auf sie zugreifen.

Antwort 2 von rfb vom 01.06.2019, 13:00 Options

Zitat:
document.all.container.style
trenn dich zuerst von all - das ist und war kein Standard!

Die Lösung liegt - wie solange schon andeutete - in der Nutzung einer der Möglichkeiten des DOM um Elemente anzusprechen.

Hierbei kämen
 getElementById() (HTML-Elementzugriff über id-Attribut)
 getElementsByName() (HTML-Elementzugriff über name-Attribut)
 getElementsByTagName() (HTML-Elementzugriff über Elementliste)

in Betracht. Welche Möglichkeit sinnvoller ist musst du selbst entscheiden. Du findest sie unter den Methoden des document-Elements bei SelfHTML genauer beschrieben.

@solange: das ist kein Array sondern eine Elementliste!

Antwort 3 von Friedel vom 01.06.2019, 13:01 Options

Das mit den Namen ist keine gute Idee. Das name-Attribut darf nur in den Elementen a, applet, form, frame, img, input, iframe, map, meta, object, param, select und textarea verwendet werden.

Antwort 4 von eisbärbaby vom 01.06.2019, 13:09 Options

danke erstmal

ich hole mal weiter aus.

Ich wollte einen Div-Container verschieben. Wenn man draufklickt folgt das Ding der Maus. Klickt man wieder, schaltet sich die Funktion ab. Dabei habe ich mich an den Beispielscripten für Mausverfolger orientiert. Das funktioniert soweit auch ganz gut. Mitlerweile sogar im FF und IE :-).
Nun habe ich dabei nicht bedacht das der Name des Div fest im Javascript drinsteht. Ich bräuchte also eine Lösung um entweder im Script
document.all.+variable+.style;
zu schreiben oder am anfang sowas zu definieren:
var A="anderercontainer";
var X = "document.all."+A+".style"; um den Namen beim Aufruf der Funktion mit zu übergeben und im Script das
document.all.container.style durch X zu ersetzen.
beides funktioniert aber leider nicht.

Antwort 5 von solange vom 01.06.2019, 13:10 Options

@rfb
diese elementliste ist genauso ein array, wie eine polizistin eine frau ist.

Antwort 6 von eisbärbaby vom 01.06.2019, 15:54 Options

getElementById! *andenkopfklatsch*

manchmal sehe ich den Wald vor lauter Bäumen nicht.
Aber jetzt funktioniert das ganze.
vielen Dank. nochmal

Antwort 7 von rfb vom 01.06.2019, 16:56 Options

@solange
bedauerlicherweise irrst du einfach. Elementlisten ähneln zwar Arrays insofern die Zugriffs-Syntax oft dieselbe ist, aber das wars auch schon. Schon bei der Erstellung neuer Array-Elemente und neuer Elemente im Dokumentenbaum gibt es himmelweite Unterschiede.
Polizistinnen ähneln aber nicht nur Frauen sondern sind tatsächlich selber welche.

Antwort 8 von solange vom 01.06.2019, 17:41 Options

ich denke, ich weiss, was du meinst. für dich ist nur das ein array, was unter js genau diesen namen trägt. für mich ist es ein allgemeines prinzip, welches in verschiedenen formen und vielen programmiersprachen existiert und erkennbar ähnliche eigenschaften hat. dir geht es um korrekte bezeichnung, mir um verständlichkeit.
Zitat:
Polizistinnen ähneln aber nicht nur Frauen sondern sind tatsächlich selber welche.

polizistinnen sind aber nicht identisch mit frauen. je nach kontext offenbaren sich die unterschiede. so wie zwischen elementlisten und anderen arrays.

Antwort 9 von rfb vom 01.06.2019, 23:09 Options

das hat weniger mit korrekter Bezeichnung zu tun, sondern einfach damit, dass du durch falsche Systematik verleitest wirst falsche Methoden anwenden zu versuchen. Und die Methoden des Array-Element lassen sich auf Elementlisten nun mal gar nicht anwenden!
Zitat:
polizistinnen sind aber nicht identisch mit frauen
nein sie sind eine Untermenge, was die Beziehung zwischen Arrays und Elementlisten nicht widerspiegelt.

Ähnliche Themen

Bildschirmlupe; klappt nicht ganz
G-Styler  25.01.2007 - 64 Hits - 2 Antworten

Javascript und variablen überprüfung
Fabi15  04.03.2007 - 52 Hits - 12 Antworten

Einblendeffekte zeitlich versetzt
Kanseyd  18.02.2008 - 5 Hits - 4 Antworten

Javascript Schleifenproblem
Computerfreaki  05.06.2008 - 18 Hits - 11 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Sun Jan 25 18:15:21 2026