我正在尝试使用$(this).attr("href")
在我的网站上创建ajaxy功能,但是当我测试它时,我从firefox获得了File Not Found错误。然而,奇怪的部分是它添加的附加文件夹:
Firefox无法在/C:/Websites/website/Articles/Articles/stuff.html找到该文件。
文件夹结构仅包含1个文章文件夹,其中包含html文件。我已尝试从index.html中的href元素中删除Articles文件夹,但后来我收到此错误:
/C:/Websites/website/stuff.html。
- 这完全可以理解,并指出它们实际上是在文章文件夹中。
控制此细分的整个javascript位于:
$(function() {
if (Modernizr.history) {
$("#content").on("click", "a", function() {
_href = $(this).attr("href");
history.pushState(null, null, _href);
loadContent(_href);
});
}
});
var $content = $("#content"),
$el;
$(function loadContent(href) {
$content.find("#content");
$content.fadeOut(500, function() {
$content.hide();
$content.load(href + " #content", function() {
$content.fadeIn(500);
});
});
});
这是index.html的相关部分:
<div id="content">
<a href="Articles/stuff.html">
<section>
<div>
<p>stuff</p>
</div>
</section>
</a>
</div>
关于这可能来自哪里的任何想法?
答案 0 :(得分:0)
当您从路径中删除文章时,您是否离开了&#34; /&#34;?如果是这样,请删除它并再试一次。斜杠使路径相对而不是绝对
答案 1 :(得分:0)
我要忽略你的代码,但要隔离你问题的核心:“为什么URL中会出现一个额外的文件夹?”前端:
<div>
<a id="Content" href="~/Articles/Content.html">Content</a>
</div>
Javascript:
$(document).ready(function () {
$("#Content").on('click', function () {
var url = $(this).attr('href');
alert(url);
});
});
输出是您尝试导航的正确网址。 Here是一个例子的小提琴。您可以在您的系统上尝试这种方法。它对我有用,所以我可能会建议~/Folder/Page.html
。
希望这有帮助,请告诉我。