Ho una finestra modale. Quello che voglio succedere è rimuovere alcuni elementi dalla pagina quando la modale si apre e li aggiungi di nuovo nel punto in cui si trovavano dopo la chiusura della modal. Non voglio mostrare: nessuno, perché solo li nasconde, ho bisogno che vengano effettivamente rimossi dalla pagina. Quindi ho un po 'di jQuery da rimuovere e li aggiungo dopo un timer solo per il test ...Rimuovere elementi dal DOM e aggiungerli nuovamente nel punto in cui erano
AGGIORNATO: Con queste aggiunte al codice, ora afferra l'elemento prima, quindi lo aggiunge di nuovo dopo quello stesso elemento. Il problema è, cosa succede se quell'elemento è stato rimosso? Quindi non aggiungerà di nuovo in! Inoltre, i gestori di eventi javascript non andranno persi in questo? Sto sviluppando un plugin, quindi dovrebbe interferire con il sito il meno possibile, ma gli elementi 3d hanno un bug in loro con Safari che è impossibile andare in giro.
Qualche idea su come rimuovere temporaneamente elementi 3d senza interferire troppo con il sito delle persone?
$3delements = $('*').filter(function(){return $(this).css('-webkit-transform-style') == 'preserve-3d'});
$3delementsposition = $3delements.prev()
//On modal open
$3delements.remove();
//On modal close
$3delementsposition.after($3delements);
Il problema è che questo richiede a specificare un certo posto nel DOM per loro di tornare. Mi piacerebbe gli elementi di tornare a dove si trovavano. Come posso assicurarmi che gli elementi non cambino/spostino/perdano informazioni su .remove su .append.
specificare la posizione " " in questo caso. l'ordine degli elementi nei suoi container è importante? sono variabili in profondità o fratelli? hai dei cuscinetti che possiamo ancorare a una query in modo che possiamo posizionarci rispetto ad essa? – Joseph
Ho apportato alcune modifiche al codice, vedere se rispondono alle tue domande ... – alt
anche se è possibile in jQuery ottenere la profondità e la posizione dell'elemento all'interno del DOM, ma penso che non sia possibile ottenere la posizione esatta dell'elemento tra i suoi fratelli. Considera questo: cosa succede se abbiamo anteposto/aggiunto/rimosso i fratelli o peggio, sostituito il contenuto in generale, quindi la posizione attuale non è più disponibile. – Joseph