Ich habe viele div-Elemente, wo ich ihre Höhen neu berechnen muss. Die divs befinden sich in einem anderen div mit id = "content".Wie kann ich Elemente manipulieren, ohne das Layout mit jQuery neu zu berechnen
Ich bin mit jQuery wie folgt aus:
$("#content div").css("height", "*=" + Math.random());
Es gibt etwa 1000 divs, die so neu berechnet. Es dauert einige Zeit, dies zu tun, und ich verstehe, dass das Layout für jedes Element einmal neu berechnet wird. Es dauert nur ein paar Sekunden, aber es ist viel zu viel.
Ich habe früher Tipps zur Verwendung von Dokumentfragmenten, die regelmäßig JavaScript ist. Ich würde gerne jQuery dazu verwenden können.
Gibt es eine Möglichkeit, mit jQuery diese divs zu trennen und sie außerhalb des aktiven DOM zu manipulieren, bevor sie zurückgeschrieben werden, so dass das Layout nicht neu berechnet wird, bis ich mit der Manipulation fertig bin?
Nach lösen sich die 'div's nicht ein Elternteil haben, so' .parent() 'gibt nichts zurück. Unter der Annahme, dass die HTML-Struktur nicht nur flach ist, müssten Sie das Elternelement jedes Elternteils sowie die Reihenfolge innerhalb des Elternteils verfolgen und andere Nicht-Div-Elemente annehmen. Ein bisschen komplizierter als es scheint. –
@JamesMontagne Danke, ich habe meine Antwort auf etwas aktualisiert, das funktioniert. Hoffentlich wird es etwas nützen. – Trevor