Wie verschiebe ich den Inhalt eines div im Prototyp oder normal-aber-Browser-kompatiblen Javascript auf den Inhalt eines anderen div?
Innerhalb des div ist ein Formular mit IDs und abhängigem Javascript-Code mit Ereignisbeobachtern. Ich möchte nicht, dass das bricht, nur weil ich einen Block im DOM verschoben habe. Eine 'diese innerHTML = diese innerHTML' Lösung ist nicht das, was ich suche. Ich werde das auch tun müssen, wenn das DOM geladen wird.
Ich möchte davon ausgehen:
%Vor%dazu:
%Vor%... wenn das Dokument geladen wird und nichts springt.
Vielleicht kein wichtiger Punkt, aber es gibt keine integrierte JavaScript-Interface-Methode Node.migrateChild (). Wenn ein Fragment bereits einen Elternteil an einer anderen Stelle im DOM hat (wie div id = 'MacGuffin' in Beispielmarkierung oben), löst appendChild () das Argumentfragment in aller Stille von jedem aktuellen Elternteil, bevor es unter dem neuen Elternteil wieder anfügt. In meinen Augen wäre migrateChild () ein semantisch aussagekräftigerer Methodenname als appendChild (), weniger für die Suche nach StackOverflow-Entwicklern, um auf seine leistungsfähigeren Fähigkeiten zu verweisen.
Um den Inhalt von here
in there
zu verschieben, sind Sie im Grunde nach:
Leider funktioniert das nicht.
Wie bei den anderen beiden Antworten sieht es so aus, als müssten Sie auf einfaches JavaScript zurückgreifen, wobei der Prototyp nur eine Abkürzung für document.getElementById
bietet.
(Siehe John Resigns Blog für Leistungsstatistiken zu DocumentFragments: Ссылка )
Tags und Links javascript prototypejs