Używam poniższego kodu AJAX do dołączania treści z innego pliku HTML na moją stronę indeksu. AJAX działa poprawnie, a zawartość wyświetla się, ale style, które zakodowałem w CSS, nie są stosowane po uruchomieniu AJAX.Style CSS nie odświeżają się po uruchomieniu AJAX
Szukałem w sieci, szukając odpowiedzi na problem, ale do tej pory rozwiązania, które próbowałem, nie zadziałały. Poniżej używam .trigger ("create"), aby spróbować wymusić odświeżenie CSS na treści, które dołączam, ale to nie działa. Jeśli ręcznie odświeżę stronę w przeglądarce, zastosowane zostaną moje style. Czy ktoś może wskazać mi właściwy kierunek odświeżania stylów po uruchomieniu AJAX bez odświeżania całej strony?
$.ajax({ type: "GET",
url: pageToLoad,
async: false,
success : function(data)
{
$(data).find('#'+divID).appendTo('#contentcontainer').trigger('create');
}
});
HTML, który jest dołączany do strony indeksu: style
<div class="content" id="portfolio">
<div class="wrapper">
<h2>Portfolio</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vestibulum libero non egestas dapibus. Nam gravida, libero ac posuere eleifend, mauris nisi venenatis metus, non hendrerit magna justo eget lectus.</p>
</div><!--wrapper-->
<div class="clear"></div>
</div><!--content-->
CSS stosowane w default.css:
#index {background-color:#82e4e5;}
#portfolio {background-color:#fb5656;}
Witaj Leann, przeglądarki * powinny * stosować style do HTML dodanego przez AJAX. Jeśli tak nie jest, sprawdź, czy nie ma literówki w wyborze CSS. Nie wygląda na to, co widzę, ale nie wiem, czy jest coś więcej. Kolejnym krokiem do rozwiązywania problemów może być umieszczenie kodu HTML bezpośrednio w pliku, aby sprawdzić, czy będzie on stylizowany, usuwając kod JavaScript z równania. Jeśli ma styl, to powinien zawęzić problem, aby wydarzyło się coś dziwnego w JS. – jmbertucci