/ / Skrypt nie działa po załadowaniu pliku html na stronę - javascript, jquery, ajax

Skrypt nie działa po załadowaniu pliku html na stronę - javascript, jquery, ajax

Mam problem z moją stroną. Kiedy kliknę link na mojej stronie, załaduje on zewnętrzny html do elementu div na stronie. div z id = "div1". (AJAX)

Działa idealnie.

zewnętrzna strona HTML, która została załadowana zawiera element div o identyfikatorze = "rex".

Mój problem to:

Mam skrypt, który musi dodać treść dodiv (z id = "rex") napisałem skrypt w pliku zewnętrznym, ale nie działa. prawdopodobnie muszę napisać mój skrypt na stronie, a nie w zewnętrznym pliku html.

tutaj skrypt Numer 3:

$("#rex").ready(function() {
var url="genredetail.php";
var activitydetail = sessionStorage.activitydetail;

$.getJSON(url,function(json){
$.each(json.genredetail,function(i,item){
if(item.name == activitydetail){
$("<p class="excerpt">" + item.beschreibung3 + "</p>").appendTo("#rex");
}
});
});
});

Ten skrypt musi zostać uruchomiony po załadowaniu pliku zewnętrznego (z div id = "rex"). Ale to nie "t :-( Co mogę zrobić? Problem polega na tym, że skrypt działa, zanim strona otrzyma <div id="rex">?

Z góry dziękuję i przepraszam mój zły angielski: -S

Obraz dla większej przejrzystości wprowadź opis obrazu tutaj

numer skryptu 1 tworzy łącze. kiedy kliknę link, skrypt numer 2, pozwól stronie załadować div1. Skrypt numer 3 musi wypełnić div = "rex" informacjami. ale to nie działa.

Odpowiedzi:

1 dla odpowiedzi № 1

spróbuj załadować

$("div").on("load","#rex",function() {

do something

});

0 dla odpowiedzi nr 2

Spróbuj użyć setInterval, aby sprawdzać element rex co 0,5 s

var myInterval = setInterval(function(){
if ($("#rex").length)
{
var url="genredetail.php";
var activitydetail = sessionStorage.activitydetail;

$.getJSON(url,function(json){
$.each(json.genredetail,function(i,item){
if(item.name == activitydetail){

$("<p class="excerpt">" + item.beschreibung3 + "</p>").appendTo("#rex");
clearInterval(myInterval);
}
}, 500);

0 dla odpowiedzi № 3

Musisz przeładować skrypt, jeśli jest już załadowany. Jak już powiedziałeś, ładujesz zewnętrzny html do elementu div, czy zawiera on zewnętrzny plik js, którego używasz? jeśli nie, proszę go dołączyć.