Функция jquery.load () не вызывает jquery во встроенном файле - PullRequest
0 голосов
/ 12 ноября 2009

У меня есть 2 html-файла: test1 и test2

test1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript" type="text/javascript" src="lib/jquery-1.3.2.min.js"/></script>
<script language="javascript" type="text/javascript">

$(document).ready(function(){


   $('#content').empty().load('test2.html');

});


</script>


</head>

<body>
<div id="content"></div>

</body>
</html>

test2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script language="javascript" type="text/javascript" src="lib/jquery-1.3.2.min.js"/></script>
<script language="javascript" type="text/javascript">

$(document).ready(function(){


  alert(202);

});

</script>


</head>

<body>
test
</body>
</html>

Когда я запускаю test1, он показывает только «тест», а не предупреждение. Так что он не может принять во встроенный jquery. Так как я могу заставить это взять? Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 12 ноября 2009

Функция load всегда отфильтровывает все из ссылочного HTML, кроме элемента body при загрузке. Попробуйте переместить скрипт в элемент body и посмотрите, поможет ли это.

В jQuery 1.2 теперь вы можете указать Селектор jQuery в URL. Делать это будет фильтровать входящий HTML документ, только вставка элементов которые соответствуют селектору. Синтаксис выглядит примерно так: "url #some> селектор ". Селектор по умолчанию" тело> * " всегда применяется. Если URL содержит пространство должно быть escape () d. Увидеть примеры для получения дополнительной информации.

Обратите внимание, что вы можете применить селектор к нагрузке, который также выполняет более расширенную фильтрацию.

0 голосов
/ 12 ноября 2009

Вам необходимо поместить скрипт в <body> на странице, которую вы загружаете.

В качестве альтернативы, вы можете рассмотреть возможность использования функции обратного вызова load() для отображения предупреждения

$(document).ready(function(){

   $('#content').empty().load('test2.html', function() { alert(202); });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...