2016-07-17 2 views
0

Я хочу называть частичную страницу html с помощью jquery. Я видел thiscall parital html page using jQuery

<!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> 

и в пути Ajax/test.html у меня есть этот test.html:

<h1>Hey World</h1> 

Проблема заключается в том, что не загружает Hey World в главную страницу. Кроме того, нет ошибки в консоли. В чем проблема?

ответ

1

Как $('#result'), jQuery не может найти элемент в DOM не готов, следовательно jQueryObject.load метод никогда не вызывается.

Оберните ваш скрипт в $(document).readyили Место вашего <script> в last-child из <body> (Как раз перед закрытием тела тега (</body>))

Есть также DOMContentLoad или window.onload события, убеждается, что DOM загружен, но ИМО, размещение <script> незадолго до </body> проще.

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

1

Попробуйте изменить <script> тег включают document.ready:

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

Вы пытаетесь добавить к элементу, который еще не существует.

Попробуйте добавить свой код в $(document).ready() и непосредственно перед закрывающим тегом </body>.

Как это:

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

</body>