2013-06-28 2 views
3

Итак, я видел, как много людей спрашивали, как загрузить html в div, и мой код делает это хорошо .... но тогда остальная часть страницы меняется, когда я загрузите html в div.Загрузите html в div без изменения остальной страницы

У меня есть страница a.html, которая выглядит, как это и загружает b.html

a.html

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
$(function() { 
$("#includedContent").load("b.html"); 
}); 
</script> 



<div id="includedContent"></div> 
<h1>This is why I rule</h1> 
</head> 
</html> 

затем b.html выглядит следующим образом

<p> This is my include file </p>

Что происходит, это загрузка a.html, и я могу сразу увидеть This is why I rule, но затем код погаснет и получит b.html. Когда загружается b.html, я могу ТОЛЬКО видеть This is my include file, и сообщение «Это почему я правилю» исчезает ...

Почему это? Как я могу предотвратить это? Он делает это во всех браузерах, которые я тестировал.

+0

Ваш HTML является недействительным , Теги 'div' и' h1' недопустимы внутри тега 'head'. – Alan

+3

Получите свою разметку из своего элемента '' и в тело. –

ответ

10

Вы должны написать свой HTML код в <body> </body>

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
$(function() { 
$("#includedContent").load("b.html"); 
}); 
</script> 
</head> 

<body> 
<div id="includedContent"></div> 
<h1>This is why I rule</h1> 
</body> 
</html> 
3

Все ваши HTML-разметку в разделе head не body

попробовать это:

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

<script> 
$(function() { 
$("#includedContent").load("b.html"); 
}); 
</script> 

</head> 
<body> 
    <div id="includedContent"></div> 
    <h1>This is why I rule</h1> 
</body> 
</html> 
+0

Я добавил теги тела, и это не помогает. – Rell3oT

+0

Aha. Это сработало! Виноват. Спасибо за помощь. Такое легкое решение! – Rell3oT

+0

Не беспокойтесь, товарищ :) –