Mein Design einer Seite zwingt mich, die ganze Seite mit HTML zu aktualisieren, die ich über Ajax geladen habe.So wählen und ersetzen Sie die ganze Seite mit jQuery
$('html').replaceWith(data);
gibt mir Fehler. Irgendwelche Ideen?
Mein Design einer Seite zwingt mich, die ganze Seite mit HTML zu aktualisieren, die ich über Ajax geladen habe.So wählen und ersetzen Sie die ganze Seite mit jQuery
$('html').replaceWith(data);
gibt mir Fehler. Irgendwelche Ideen?
Verwenden Körper:
$('body').replaceWith(data);
Dies ersetzt zwar nicht den Kopfbereich, der benötigt wird, um die notwendigen Javascript- und CSS-Dateien zu laden, um die Seite korrekt zu rendern. – ngeek
Tatsächlich erledigt jQuery die Arbeit, jedes eingebettete Javascript auszuführen. CSS Stylesheets werden absolut angewendet. Beachten Sie, dass die CSS-Stylesheets, die Sie entfernt haben, in den Regelsätzen bleiben und nicht entfernt werden. – cgp
hatte ich einige Probleme mit
$("body").replaceWith(newPage)
mir einige seltsame CSS-Probleme geben, aber das wored fein:
$("body").html(newPage);
Ich hatte das gleiche Problem , aber das hat nicht geholfen. Wenn Sie müssen auch den <head>
Tag ersetzen (so, die ganze Seite), können Sie auch
document.write(newPage);
Ich weiß das eine alte Frage, aber für zukünftige Verweise funktioniert das, aber Sie müssen verstehen, dass es die alten DOM-Skripthandler verlassen und zu Speicherlecks führen kann. – RajeshT
Danke. Es funktionierte besser als jede andere Lösung, die ich mir vorstellen konnte. –
Seltsames Verhalten von jQuery.replaceWith und jQuery.html tun, wenn sie mit ‚Körper‘ Selektor ausgeführt. Sie verlieren den Body-Tag nach dem Aufruf:
$('body').replaceWith('<body>New body</body>');
Es nicht mit anderem Selektor geschieht wie:
$('title').replaceWith('<title>New title</title>');
Auch jQuery.html nicht den Body-Tag verdoppelt (wie sie mit andere Tags) und arbeitet wie replaceWith wenn wie folgt aufgerufen:
$('body').html('<body>New body</body>');
ich hoffe, dass dies nicht eine Grauzone von jQuery ist. Oder wenn es so ist, denken sie nicht daran, es zu reparieren. Ich habe Anwendungen, wo ich $ ('body') html wenn $ ('body') .replaceWith sollte verwendet werden.
Bitte Fehler und Inhalt der Daten melden –
Wird das HTML-Tag nicht das Skript enthalten, das den Austausch durchführt? Wenn Sie das Body-Tag verwenden, stellen Sie sicher, dass Ihr HTML-Code passt. –