我有一个单页概念,其中总有一个导航菜单,下面是一个具有可交换内容的div。内容来自其他html文件。
在函数“navigateToPage”中,我试图从另一个html文件中的div内部获取数据,div有一个ID(#content-main)和类(.fragment),所以我想过滤/查找其中的所有内容,并将其放在具有相同ID的当前站点的div中。
function getPageName() {
var
pathName = window.location.pathname,
pageName = "";
if (pathName.indexOf("/") != -1) {
pageName = pathName.split("/").pop();
} else {
pageName = pathName;
}
return pageName;
}
function navigateToPage() {
var pageName = getPageName();
$.get(pageName, function (response) {
var
// Wrap the resulting HTML string with a parent node
// so jQuery can properly select against it.
markup = $("<div>" + response + "</div>"),
// Extract the fragment out of the markup.
fragment = markup.find(".fragment").html();
$("#content-main").html(fragment);
});
}
问题是,似乎没有内容被抓到navigateToPage()。
该程序的描述来自Craig Shoemaker。 我想也许是得到的&amp;响应已弃用,我必须使用类似this的内容吗?
我应该添加第3部分,也许错误在那里..?
$("a[data-role='ajaxLink']").on('click', function (e) {
if (window.history && window.history.pushState) {
e.preventDefault();
var pageName = $(this).attr("href");
window.history.pushState(null, "", pageName);
navigateToPage();
}
});
答案 0 :(得分:0)
这似乎解决了这个问题:
$('#content-main').load(pageName + " .fragment");
你不知道为什么其他方法不起作用......
我必须添加,因为DIV与class&#34; .fragment&#34;将被加载到DIV#content-main中,必须要注意不要创建嵌套的DIV。我解决了这个问题,因为我在每个html上都有一个低于#content-main的DIV,我将放置类.fragment。