2014-09-10 54 views
0

的index.html:为什么“加载”不起作用?

<div id="divTestArea2"></div> 
<script type="text/javascript"> 

$("#divTestArea2").load("index-2.html #test"); 

</script> 

指数2.HTML:

<div id="test"><b>Hello World!</b></div> 

为什么 “负载” 不工作?

+4

是否在控制台中收到了js错误。这将有所帮助。 – idrumgood 2014-09-10 21:49:41

+1

你在本地测试它吗? – undefined 2014-09-10 21:52:33

+0

ReferenceError:$未定义index.html:61 未声明HTML文档的字符编码。如果文档包含US-ASCII范围之外的字符,则该文档将在某些浏览器配置中呈现乱码文本。页面的字符编码必须在文档或传输协议中声明。 – user3552862 2014-09-10 21:54:44

回答

2

假说:

  1. $尚未定义;您的脚本可能需要在您的页面中包含jQuery之后运行。如果出现这种情况,您应该会看到控制台错误。
  2. index-2.html不是基于当前页面的URL的有效相对URL。查看您的开发人员工具的网络选项卡,查看是否正在执行对index-2.html的请求。如果您收到404错误,那么网址可能不正确。

编辑

现在你已经张贴的错误,我们知道原因是#1; $只会在您的页面中包含jQuery时才会定义。如果您已经有了该脚本标记,请将代码移到其后。如果你不这样做,请尝试添加如下内容:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
+2

jQuery可能已经包含在内,但正在使用'noConflict'也经常出现在wordpress网站上 – charlietfl 2014-09-10 21:57:53

+0

而OP可能需要将脚本放在文档就绪处理程序中。 – 2014-09-10 21:58:11

+1

@JayBlanchard如果脚本元素出现在引用的'div'之后,那么它将工作。 – 2014-09-10 21:59:27

-1

尝试添加#字符以选择id的元素,并将您的代码放入ready事件中。

$(document).ready(function() { 

    $("#divTestArea2").load("index-2.html"); 

}); 

你可以在div分离到另一个文件中只得到必要的一部分,而不是试图读取该文件内一个div。