Beiträge von Sempervivum

    Ah ja, hab's wieder gefunden. Dann lag ich mit meinem Tipp ins Blaue richtig:

    Der Code erzeugt jedes Mal ein neues Popup und weil die ID mehrfach vorkommt, wird nur die erste gefunden, aber nicht die von dem, das zuletzt erzeugt wurde.

    Lösung: Abfragen, ob das Popup schon existiert, wenn ja, das existierende wieder sichtbar machen. Dies funktioniert bei mir:

    Ja, das geht auch, aber das Ergebnis ist unterschiedlich:

    eq() liefert ein jQuery-Objekt, das man mit jQuery bearbeiten kann, z. B.

    Code
    $('[name="ww"]')eq(1).html('<p>hallo</p>');

    Die beiden aus deinem letzten Posting liefern jeweils ein DOM-Element, das Du mit einfachem Javascript bearbeiten kannst, z. B.:

    Code
    $('#elternid')[0].style.backgroundColor = "red";
    Code
    $('[name="ww"]').html('<p>hallo</p>');

    Ja, das ist richtig.

    Zitat

    was mache ich den wenn ich 2 mal oder mehrmal den gleichen namen habe??

    In diesem Fall genau so. jQuery legt automatisch eine Schleife an und führt die Aktion, in diesem Fall das HTML setzen, für alle Element durch, auf die der Selektor passt. Beachte jedoch, dass das nur bei Radiobuttons sinnvoll ist oder wenn man ein Array von Formularelementen anlegt. Sonst kann man die Elemente nicht unterscheiden, analog zu mehrfachen IDs.

    Edit: Oder möchtest Du ein einzelnes Element aus dem Set ansprechen? Dann geht es mit eq():

    Code
    $('[name="ww"]')eq(1).html('<p>hallo</p>');

    Ja, damit bin ich auch schon konfroniert worden. Der Grund ist, dass Javascript die Funktion im globalen Skope sucht, wenn sie in dieser Form inline notiert wird. Bei jsfiddle ist sie jedoch in einer Funktion gekapselt, z. B. im onload-Event, je nach Einstellung, so dass sie im globalen Scope nicht sichtbar ist. Abhilfe, indem der Listener nicht inline sondern mit addEventListener() oder äquivalent bei jQuery registriert wird.

    Code
    das ein Computer mehrere millionen rechnungen die Sekunde macht?

    Das bezieht sich auf Machinenbefehle. Wenn Du eine Befehlszeile in einer Hochsprache siehst, muss die geparst und in Maschinenbefehle umgesetzt werden. Und dabei können sehr viel mehr Befehle heraus kommen. Vor allem das Parsing von HTML ist aufwändig, siehe hier:

    http://www.webdeveloper.com/fo…e-a-faster-way-to-do-this

    aber das ist bei dem Problem in diesem Thread wohl weniger relevant.

    scss ist ebenfalls ein Precompiler und das CSS muss kompiliert werden. Ich habe um diese ganzen Precompiler bisher einen Bogen gemacht. Sie haben insofern eine Berechtigung, weil die Möglichkeiten von CSS sehr begrenzt sind, es gibt z. B. keine Variablen, keine Funktionen und Rechenoperationen nur in sehr eingeschränkter Form (calc).

    Bei Checkboxes ist es relativ einfach, wenn man den Checkbox-Hack anwendet: Einer Checkbox kann man ein Label zuordnen. Die Checkbox wird unsichtbar gemacht. Klick auf das Label steuert den Zustand der Checkbox. Zustand der Checkbox steuert das Aussehen des Labels.

    https://jsfiddle.net/Sempervivum/3dyrdo07/1/


    Bei Selects ist es leider nicht so einfach. Hier ist es eher empfehlenswert, ein Select mit CSS und Javascript neu zu bauen. jQuery-UI hat z. B. so etwas:

    https://jqueryui.com/selectmenu/

    Anscheinend sind es die String-Operationen, die ihn umbringen, denn ohne die geht es relativ schnell:

    Was ist denn überhaupt der Sinn der Sache? So etwas kann doch kein Mensch lesen.

    Das wird dir wahrscheinlich auch kein besseres Ergebnis bringen als mit der jetzigen Animation. Das Problem ist, dass die Seite, wo es eingebettet ist, nicht wirklich responsiv ist:

    Zitat

    dass die umgebenden Container nicht der Größe des Browserfensters folgen. Deshalb ändert sich die Größe der Animation nicht, denn sie folgt mit einer Breitenangabe von 100% dem umgebenden Container.