Javascript 为什么“负载”不起作用?
index.html:Javascript 为什么“负载”不起作用?,javascript,jquery,Javascript,Jquery,index.html: <div id="divTestArea2"></div> <script type="text/javascript"> $("#divTestArea2").load("index-2.html #test"); </script> index-2.html: <div id="test"><b>Hello World!</b></div> 为什么加载不起作用?尝试
<div id="divTestArea2"></div>
<script type="text/javascript">
$("#divTestArea2").load("index-2.html #test");
</script>
index-2.html:
<div id="test"><b>Hello World!</b></div>
为什么加载不起作用?尝试添加字符以按id选择元素,并将代码放入就绪事件中
您可以将div分离到另一个文件中,以仅获取必要的部分,而不是尝试读取文件中的div。假设:
美元尚未定义;在页面中包含jQuery之后,可能需要运行脚本。如果是这种情况,您应该会看到控制台错误。
index-2.html不是基于当前页面URL的有效相对URL。查看开发人员工具的“网络”选项卡,查看是否正在执行对index-2.html的请求。如果您遇到404错误,那么可能是URL不正确。
编辑
现在您已经发布了错误,我们知道原因是1;$只有在页面中包含jQuery时才会定义。如果您已经有了该脚本标记,请将代码移到后面。如果没有,请尝试添加以下内容:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
您是否在控制台中收到js错误。这会很有帮助。您是否在本地测试它?ReferenceError:$未定义索引。html:61未声明html文档的字符编码。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。页面的字符编码必须在文档或传输协议中声明。请阅读此内容。jQuery可能已经包含在内,但正在使用noConflict,这也是wordpress站点上经常发生的情况,OP可能需要将脚本包含在一个文档就绪处理程序中。@JayBlanchard如果脚本元素出现在引用的div之后,那么它将起作用。这不是一个坏习惯,尤其是在学习JavaScript和jQuery时一开始,它只是有一个不可否认的小代价,那就是等待的时间比需要的时间长。然而,听起来您似乎经历了一些更深入的边缘案例,在这些案例中,您是否使用了像or这样的脚本加载程序?否@JasonSperske,这两种方法当时都没有使用,但Modernizer可能已经使用过。不过,我必须检查一下在每种情况下是否都是这样。
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>