jquery.load()函数不在嵌入文件中调用jquery

时间:2009-11-12 12:41:18

标签: jquery-plugins

我有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时,它只显示“test”而不显示alert.So它不能接受嵌入式jquery。那我该怎么做呢?请帮忙。

2 个答案:

答案 0 :(得分:2)

load function总是过滤掉引用的HTML中的所有内容,但加载时的body元素除外。尝试将脚本移动到body元素中,看看是否有帮助。

  

在jQuery 1.2中,您现在可以指定一个   URL中的jQuery选择器。这样做   将过滤传入的HTML   文档,只注入元素   与选择器匹配。语法   看起来像“url #some&gt;   选择器“。默认选择器”body&gt; *“   永远适用。如果URL包含   空间应该是逃避()d。见   更多信息的示例。

请注意,您也可以在加载时应用选择器,以进行更广泛的过滤。

答案 1 :(得分:0)

您需要将脚本放入要加载的页面上的<body>

或者,您可以考虑使用load()函数的回调来显示警报

$(document).ready(function(){

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

});