2016-07-17 5 views
0

Ich möchte eine teilweise HTML-Seite mit jquery aufrufen.Call Parital HTML-Seite mit jQuery

<h1>Hey World</h1> 

Das Problem ist, es wird nicht geladen, die Hey World in die Haupt-Seite: Ich habe this

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <script type="text/javascript" src="lib/jquery-3.1.0.min.js"></script> 
     <script type="text/javascript"> $('#result').load('Ajax/test.html'); </script> 
     <title>Home</title> 
    </head> 
    <body> 
     <div id="result"></div> 

    </body> 


</html> 

und im Ajax/test.html Ich habe dieses test.html Weg gesehen. Auch gibt es keinen Fehler in der Konsole. Was ist das Problem?

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#result').load('Ajax/test.html'); 
    }); 
    </script> 

Antwort

1

Wie bei $('#result'), jQuery ist nicht in der Lage, das Element zu finden, da DOM nicht bereit ist daher jQueryObject.load Methode wird nie aufgerufen.

Ihr Skript in $(document).readyoder Platz Wickeln Sie Ihre <script> als last-child von <body> (Kurz vor dem Body-Tag (</body>) Schließen)

Es gibt auch DOMContentLoad oder window.onload Ereignisse, die sicherstellt, dass DOM geladen, aber IMO, Platzierung <script> kurz vor </body> ist einfacher Option.

<div id="result"></div> 
 
<script> 
 
    $('#result').load('test.html'); 
 
</script>

1

Versuchen Sie, Ihre <script> Tag ändert ein document.ready aufzunehmen.

Versuchen Sie, Ihren Code in einem $(document).ready(), und kurz vor dem schließenden Tag hinzuzufügen.

So:

<script> 
$(document).ready(function(){ 
    $('#result').load('Ajax/test.html'); 
}); 
</script> 

</body> 
1

Sie versuchen, ein Element anzuhängen, die noch nicht existiert: