【发布时间】:2015-03-16 02:16:46
【问题描述】:
我正在尝试学习 JQuery,但在完成一项简单的任务时遇到了麻烦。我有一个页面(目录:root/admin/indexContent.html),我想从另一个页面(目录:root/index.html)加载带有 ID #header1 的 h2 标记的内容。
这里是 indexContent.html 头部的脚本
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#indexHeader1").load("../index.html #header1");
});
</script>
我要从 index.html 加载的 h2 标签:
<h2 id="header1">Home</h2>
我希望在 admin/indexContent.html 上加载 h2 标记:
<div id="indexHeader1"></div>
据我了解,$("#indexHeader1") 是加载内容的选择器,.load() 中的参数是我要加载的文件的路径,但这个脚本什么也不做。有人知道为什么吗?
编辑:在我的代码中添加 console.log($("#indexHeader1").length) 并阅读我的控制台后,我得到了:
1 indexContent.html:10
GET http://highstreetdeliwb.com/admin/images/navigation/logoClear.png 404 (Not Found) logoclear.png:1
还有几行GET http://site/admin/images/whatever.png。我不明白它为什么要获取这些图像,我只想要一个 H2 元素。另外值得注意的是,这些图像的路径错误。
http://highstreetdeliwb.com/admin/images/navigation/logoClear.png
应该是:
http://highstreetdeliwb.com/images/navigation/logoClear.png
【问题讨论】:
-
你做了什么来调试这个?你看过浏览器的JS控件有没有错误?您是否查看过“网络”选项卡以查看请求是否正确发送并获得正确的响应?是否添加了一些
console.log语句来查看代码是否正在执行?您是否检查过您正在寻找的元素是否被找到(例如console.log($("#indexHeader1").length)? -
代码没有问题。确保您正在从服务器运行页面(例如:apache。)。直接打开 html 文件在某些浏览器(如 firefox)中不起作用
-
我刚刚更新了我的帖子,提供了更多信息。看来我的路径是错误的
-
为了测试,尝试用 index.html 的完全限定路径替换“../index.html #header1”。似乎“admin”是根据您的 ajax 代码运行的位置而不是 index.html 所在的位置添加的。
-
@AllenKing ,我只是尝试过,但无济于事。控制台显示它仍在 admin/images 中搜索文件