Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Statische Funktion mit Subfunktion in Javascript
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Statische Funktion mit Subfunktion in Javascript
 
Autor Nachricht
my_key
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 22.07.2006
Beiträge: 136

BeitragVerfasst am: 03 Sep 2008 - 19:47:11    Titel: Statische Funktion mit Subfunktion in Javascript

Hallo,
ich habe schon in vielen Seiten gesucht aber nie wirklich was brauchbares gefunden, ich versuchs mal hier, bitte um Eure Hilfe.

Ich möchte eine statische Funktion erzeugen welche zuerst nach einem html-Element sucht und dann mit dieser etwas macht (zb dessen Textinhalt ändern).
Aufrufen sollte man es zb so:

Element('arg').aendereInhalt('Hallo Welt!');

Meine Probleme sind, wie schreibe ich die Funktion Element, sodass von ihr vorher keine Instanzen erzeugt werden müssen und gleich danach man die funktion aendereInhalt aufrufen kann?

also NICHT so : var abc = new Element('arg'); abc.aendereInhalt('Hallo Welt');

Ich hoffe jemand kann mir helfen.

Viele Grüße
my_key
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 22.07.2006
Beiträge: 136

BeitragVerfasst am: 05 Sep 2008 - 19:19:25    Titel:

Vielleicht weiss jemand wie document.getElementByTagName arbeitet?

Gibts vielleicht eine Art Bibiothek oder ähnlcihes wo drinn steht wie der das macht?
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 05 Sep 2008 - 21:27:02    Titel:

vernünftig id's verteilen und mit

Code:
document.getElementById('Id-Bezeichner')


benutzen?
sarc
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 21.09.2006
Beiträge: 2657

BeitragVerfasst am: 05 Sep 2008 - 21:36:57    Titel:

Du musst als Rückgabe der Element-Funktion ein Objekt verwenden, das die entsprechende Änderungsmethode zur Verfügung stellt.
my_key
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 22.07.2006
Beiträge: 136

BeitragVerfasst am: 05 Sep 2008 - 22:37:18    Titel:

Smutje hat folgendes geschrieben:
vernünftig id's verteilen und mit

Code:
document.getElementById('Id-Bezeichner')


benutzen?

Es geht mir ja nicht darum die Elemente mit document.getEle... zu bekommen sondern mit einer selbst erstellten.

sarc hat folgendes geschrieben:
Du musst als Rückgabe der Element-Funktion ein Objekt verwenden, das die entsprechende Änderungsmethode zur Verfügung stellt.

Ich weiß leider nicht genau wie du das meinst, ein kleines Beispiel wäre hilfreich.

Im Grunde möchte ich ja nur...

...die Funktion document.getElementById() bzw ByName od. ByTagName und .innerHTML, .setAttribue usw. nachmachen.

oder anders formuliert

... fogende Funktion statisch zu machen:
Code:
   function Element(id) {
     this.El = document.getElementById(arg);
     this.aendereInhalt = function(txt) {
        this.El.innerHTML = txt;
     }
   }
sarc
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 21.09.2006
Beiträge: 2657

BeitragVerfasst am: 05 Sep 2008 - 22:56:51    Titel:

Code:

 function elem Element(id) {
     return document.getElementById(arg);
}

Element("bla").innerHTML("test");


Irgendsowas in der Art, ungetestet, meine JavaScript-Kenntnisse sind deutlich eingerostet. Wenn du ne eigene Funktion aendereInhalt haben willst, die auf das Zeug reagiert, dann wirds deutlich komplizierter. Dann müsstest du ne eigene Klasse erstellen, die diese Methode bereitstellt. Wie das in JavaScript geht weiß ich grad aber auch nicht. Mag die Sprache nicht sonderlich...
Knalltüte
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 31.08.2007
Beiträge: 2932
Wohnort: gleich um die Ecke

BeitragVerfasst am: 06 Sep 2008 - 16:07:11    Titel:

my_key hat folgendes geschrieben:

Code:
   function Element(id) {
     this.El = document.getElementById(arg);
     this.aendereInhalt = function(txt) {
        this.El.innerHTML = txt;
     }
   }

Warum fummelst du hier mit this rum, wenn du eh keinen Constructor schreiben willst? Oder willst du die globalen Variablen unbedingt so indirekt erstellen?

Was du mit deinem statisch meinst weiß ich auch nicht, JavaScript kennt eigentlich keine statischen Variablen.
Jockelx
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 24.06.2005
Beiträge: 3596

BeitragVerfasst am: 06 Sep 2008 - 16:57:50    Titel:

Wie Knalltüte schon sagt, gibt es keine statischen Methoden.
getElementBy.. ist ja auch nicht statisch, sondern ein Member von 'document'.

Deine Funktion mus also auch so

new Element('BlaID').aendern('Blub');

aussehen, oder du erzeugst zu Beginn eine Klasse, dann hast du sowas

var doc = new Bla();
...
...
doc.Element('BlaID').aendern('Blub');
my_key
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 22.07.2006
Beiträge: 136

BeitragVerfasst am: 06 Sep 2008 - 19:57:21    Titel:

Jockelx hat folgendes geschrieben:

new Element('BlaID').aendern('Blub');

Hey ich wusste gar nicht es auch so funktioniert .. Shocked/Very Happy
nun ja vorerst gebe ich mit damit zufrieden, danke.
Knalltüte hat folgendes geschrieben:

Was du mit deinem statisch meinst weiß ich auch nicht, JavaScript kennt eigentlich keine statischen Variablen.

Jockelx hat folgendes geschrieben:
Wie Knalltüte schon sagt, gibt es keine statischen Methoden.
getElementBy.. ist ja auch nicht statisch, sondern ein Member von 'document'.

Also ich weiss ja nicht genau ob ich da was falsch verstanden habe, aber ich habe gelernt das eine Methode/Klasse dann statisch ist wenn man diese, ohne vorher davon eine Instanz zu machen, benützen kann...

Ich hab da noch was anderes gefunden, vielleicht kennt jemand Jquery, ein Javascript Framework, arbeitet eigentlich genau so wie ich es auch wollte (mit $('arg') Element ansprechen und dann gleich bearbeiten). Ich hab mir mal den Quellcode angeschaut, wurde dann doch zu kompliziert..

also ich belasse es jetzt mal mit dem obigen code, mit new. Aber falls jemand noch irgendwie einen Weg kennt ohne new, ist es nie zuspät diese zu posten Smile thnx
Knalltüte
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 31.08.2007
Beiträge: 2932
Wohnort: gleich um die Ecke

BeitragVerfasst am: 06 Sep 2008 - 20:16:56    Titel:

Javascript ist eben kein Java oder vergleichbare Programmiersprache, genaue Definition findest du hier.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Statische Funktion mit Subfunktion in Javascript
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum