• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Mehrfach Return mit "this" abgreifen

Das Problem an deiner Lösung ist, dass ich die Elemente wieder über ihre ID's anspreche, jedoch habe ich gesagt, dass die Variablen für mich unabdingbar sind. D.h. ich kann die Elemente nicht über ihre ID's ansprechen, da sie in meiner Funktion keine haben und brauchen, dies war nur ein Beispiel um die Übertragung per Return zu vereinfachen, meine Funktion sieht in etwas so aus :
Code:
function b() {
   var zwei = $(document.createElement('div'))
      .addClass("zwei")
      //
      //

   return $(this, zwei);
}

Sollten hier Fehler drinn sein, sind dies nur Flüchtigkeitsfehler, der Code an sich funktioniert. Doch das Problem bleibt, dass der Return, bzw. die beiden Variablen irgentwie so getrennt werden müssen, als würde man nur ID's übergeben und dass das Kommata in Anführungszeichen steht.

Code:
return $("#eins, #zwei");

MfG
 
was ist denn in deinem fall return $(this, zwei); this?
.andSelf() | jQuery API Documentation

Doch das Problem bleibt, dass der Return, bzw. die beiden Variablen irgentwie so getrennt werden müssen, als würde man nur ID's übergeben und dass das Kommata in Anführungszeichen steht.
das jquery-objekt bekommt i.d.R. einen parameter. das ist meist eine selector. in einem selector kann auch ein komma vorkommen, als komma im selector welcher der einzige parameter ist welcher an das jquery-objekt übergeben wird. wenn du das komma in die jquery()-funktion schreibst, übergibst du 2 parameter durch komma getrennt.
du kannst zu einem bestehenden jquery-objekt auch weitere elemente hinzufügen, siehe mein link im letzten post, aber vielleicht sagst du mal genau was du eigentlich machen möchtest.

Code:
var zwei = $(document.createElement('div'))
      .addClass("zwei")
jQuery() | jQuery API Documentation
 
Also, ich möchte mit einer Funktion, nennen wir sie mal "boxErstellen()" ein Div erstellen und dessen Variable mit return weitergeben, dies ist das "this" in der Funktion "a()", mit der Funktion a wird ein weiteres Element erstellt, z.B. ein Div und dieser wird an "this", also an die erste Box angehangen. Funktion "a()" gibt einmal "this" weiter, also die Variable der ersten Box und die Variable der eigenen Box, heißt also zwei Variablen. Funktion "b()" wird an Funktion "a()" angehangen und hängt eine weitere Box and die Box aus Funktion "a()" und gibt mit "this" beide Variablen aus Funktion "a()" an die nächste Funktion die angehangen wird weiter. Im Code soll dies in etwas so aussehen.

Code:
function boxErstellen() {
    var ersteBox = $(document.createElement('div'));
    $('#screen').append(ersteBox);
    return ersteBox;
}

function a() {
    var zweiteBox = $(document.createElement('div'));
    $(this).append(zweiteBox);
    return $(this, zweiteBox);
}

function b() {
   var dritteBox = $(document.createElement('div'));
   $(this[1]).append(dritteBox);  // Dies Funktioniert noch nicht
   return $(this);
}

"screen" ist eine Box die auf dem kompletten Fenster liegt.
Danke.
 
wenn das wirklich alles ist, benötigst du dafür keine extra funktionen.
und deine 3. funktion entspricht eben nicht der jquery-philosophie.
in jquery hast du im objekt eine liste von elementen gekapselt. alle jquery funktionen wirken entweder auf die gesammte liste oder in ausnahmefällen gehen sie davon aus, daß nur 1 element in der liste ist, wenn die funktion nur für einzelelemente sinnvoll ist.
 
Die Boxen unterscheiden sich alle drei voneinander, dies ist nur ein kurzer Ausschnitt aus dem Code, der dafür benötigt wird mein Vorgehen zu verstehen. Ich würde mittlerweile einfach nur gerne wissen, wie ich mein Problem lösen kann, da ich seit drei Tagen an diesem Problem festhänge. Wenn jemand eine andere Lösung für dieses Problem hat, kann er mir diese gerne mitteilen, jedoch brauche ich diese drei Funktionen und die Übermittlung der Variablen mittels der Returns.
 
der dafür benötigt wird mein Vorgehen zu verstehen.
nee, dein vorgehen verstehe ich immer noch nicht. daraus verstehe ich du willst:
$('#screen').append($('<div></div>').append($('<div></div>').append($('<div></div>'))));
oder übersichtlicherer
Code:
var $box3 = $('<div></div>');
var $box2 = $('<div></div>');
var $box1 = $('<div></div>');
$('#screen').append($box1);
$box1.append($box2);
$box2.append($box3);

Ich würde mittlerweile einfach nur gerne wissen, wie ich mein Problem lösen kann,
eine lösung ist es zwar nicht, aber wie du den murks umsetzen kannst habe ich dir doch gezeigt, ist noch was unklar?

Wenn jemand eine andere Lösung für dieses Problem hat, kann er mir diese gerne mitteilen, jedoch brauche ich diese drei Funktionen und die Übermittlung der Variablen mittels der Returns.
dafür müsste man verstehen, warum du meinst diese "drei Funktionen und die Übermittlung der Variablen mittels der Returns" zu brauchen
 
Zuletzt bearbeitet:
Zurück
Oben