Mój projekt strony zmusza mnie do odświeżenia całej strony za pomocą html, który załadowałem przez ajax.Jak wybrać i zamienić całą stronę za pomocą jQuery
$('html').replaceWith(data);
Daje mi błędy. Jakieś pomysły?
Mój projekt strony zmusza mnie do odświeżenia całej strony za pomocą html, który załadowałem przez ajax.Jak wybrać i zamienić całą stronę za pomocą jQuery
$('html').replaceWith(data);
Daje mi błędy. Jakieś pomysły?
użycie ciała:
$('body').replaceWith(data);
Chociaż nie zastąpi to sekcji head, która może być wymagana do załadowania niezbędnych plików JavaScript i CSS niezbędnych do poprawnego renderowania strony. – ngeek
W rzeczywistości jQuery wykonuje pracę w dowolnym wbudowanym javascript. Arkusze stylów CSS zostaną bezwzględnie zastosowane. Po prostu zdaj sobie sprawę, że usunięte arkusze stylów CSS pozostają w zestawach reguł, a nie są usuwane. – cgp
miałem pewne problemy z
$("body").replaceWith(newPage)
dając mi jakieś dziwne problemy z CSS, ale to wored porządku:
$("body").html(newPage);
miałem ten sam problem , ale to nie pomogło. Jeśli trzeba także wymienić tag <head>
(tak, cała strona), można również zrobić
document.write(newPage);
Znam to stare pytanie, ale dla przyszłych referencji działa to, ale musisz zrozumieć, że może on opuścić stare procedury obsługi skryptów DOM i spowodować wycieki pamięci. – RajeshT
Dzięki. To działało lepiej niż jakiekolwiek inne rozwiązanie, które mogłem wymyślić. –
dziwne zachowanie przez jQuery.replaceWith i jQuery.html gdy wykonywane z „ciała” selektora. Tracisz tag ciała po wywołaniu:
$('body').replaceWith('<body>New body</body>');
To nie zdarza się w przypadku każdego innego selektora jak:
$('title').replaceWith('<title>New title</title>');
także jQuery.html nie podwoić tag ciała (jak ma to miejsce z inne znaczniki) i działa jak replaceWith kiedy nazywa tak:
$('body').html('<body>New body</body>');
mam nadzieję, że nie jest to szara strefa jQuery. Lub jeśli tak jest, nie myślą, aby to naprawić. Mam aplikacje, w których używam $ ("body"). Html, gdy $ ("body"). ReplaceWith powinien być użyty.
Proszę zaksięgować błąd i zawartość danych –
Czy znacznik html nie zawiera skryptu, który zastępuje? Jeśli używasz tagu body, upewnij się, że Twój html jest odpowiedni. –